java将字符串转换为xml和解析节点

Doc*_*day 7 java xml web-services

您好我从webservice回来了一个字符串.

我需要解析此字符串并获取错误消息中的文本?

我的字符串看起来像这样:

<response>
<returnCode>-2</returnCode>
<error>
<errorCode>100</errorCode>
<errorMessage>ERROR HERE!!!</errorMessage>
</error>
</response>
Run Code Online (Sandbox Code Playgroud)

解析字符串或转换为xml然后解析是否更好?

azz*_*azz 14

我使用Java的XML文档库.这有点乱,但有效.

String xml = "<response>\n" +
             "<returnCode>-2</returnCode>\n" +
             "<error>\n" +
             "<errorCode>100</errorCode>\n" +
             "<errorMessage>ERROR HERE!!!</errorMessage>\n" +
             "</error>\n" +
             "</response>";
Document doc = DocumentBuilderFactory.newInstance()
                                     .newDocumentBuilder()
                                     .parse(new InputSource(new StringReader(xml)));

NodeList errNodes = doc.getElementsByTagName("error");
if (errNodes.getLength() > 0) {
    Element err = (Element)errNodes.item(0);
    System.out.println(err.getElementsByTagName("errorMessage")
                          .item(0)
                          .getTextContent());
} else { 
        // success
}
Run Code Online (Sandbox Code Playgroud)