我正在使用我的Java代码进行webservice调用,并使用以下数据将响应作为String获取。
<DocumentElement>
<ResultSet>
<Response>Successfully Sent.</Response>
<UsedCredits>1</UsedCredits>
</ResultSet>
</DocumentElement>
现在,我想解析下面的响应String并单独获取<Response>
标记的值以进行进一步处理。既然,我只获得了CDATA内容如何解析String内容?
答案 0 :(得分: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();
}
按照上面的解析器例程来处理更大的数据集。对多个类似的数据集使用循环。希望有所帮助。