0

我正在我的 Java 代码中进行 Web 服务调用,并使用以下数据将响应作为字符串获取。

<DocumentElement>
   <ResultSet>
     <Response>Successfully Sent.</Response>
     <UsedCredits>1</UsedCredits>
   </ResultSet>
</DocumentElement>

现在,我想解析下面的响应字符串并<Response>单独获取标签的值以进行进一步处理。因为,我只得到 CDATA 内容如何解析字符串内容?

4

1 回答 1

0

您显然需要 XML 解析器。可以说上面存储在一个String名为的变量中content

    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    try {
          //Using factory get an instance of document builder
           DocumentBuilder db = dbf.newDocumentBuilder();
           InputSource is = new InputSource();
           is.setCharacterStream(new StringReader(content)); //content variable holding xml records         
           Document doc = db.parse(is)
           /* Now retrieve data from xml */
           NodeList nodes = doc.getElementsByTagName("ResultSet");
           Element elm = (Element) nodes.item(0);   //will get you <Response> Successfully Sent.</Response>
           String responseText = elm.getFirstChild().getNodeValue();

    }catch(ParserConfigurationException pce) {
        pce.printStackTrace();
    }catch(SAXException se) {
        se.printStackTrace();
    }catch(IOException ioe) {
        ioe.printStackTrace();
    }

对于更大的数据集,请遵循上述解析器例程。对多个相似的数据集使用循环。希望有帮助。

于 2012-08-04T06:32:19.480 回答