我已经探索了很多网站,但未能找到任何关于解析xml的SIMPLE示例或答案。
事实上,网站上充满了例子和答案,但这些内容冗长而复杂。 请回答我一个解析XML String并获取其元素的简单方法。感谢。
答案 0 :(得分:6)
试试这个,
#define HAVE_INTTYPES_H 1
答案 1 :(得分:0)
您可以使用XMLPullParser轻松解析xml。下面是Handler类 -
public class XmlPullParserHandler {
String text;
StringBuilder builder = new StringBuilder();
public String parse(InputStream is) {
try {
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
factory.setNamespaceAware(true);
XmlPullParser parser = factory.newPullParser();
parser.setInput(is, null);
int eventType = parser.getEventType();
while (eventType != XmlPullParser.END_DOCUMENT) {
String tagname = parser.getName();
switch (eventType) {
case XmlPullParser.TEXT:
text = parser.getText();
break;
case XmlPullParser.END_TAG:
if (tagname.equalsIgnoreCase("YOUR_TAG1")) {
builder.append("TAG1 = " + text);
} else if (tagname.equalsIgnoreCase("YOUR_TAG2")) {
builder.append("\nTAG2 = " + text);
}
break;
default:
break;
}
eventType = parser.next();
}
} catch (IOException e) {
e.printStackTrace();
} catch (XmlPullParserException e) {
e.printStackTrace();
}
return builder.toString();
}
}
要解析从WebService获取的XML响应并读入Inputstream,您可以执行以下操作 -
XmlPullParserHandler parser = new XmlPullParserHandler();
InputStream is = "YOUR XML RESPONSE";
String xmlOutput = parser.parse(is);
xmlOutput是一个包含所有已解析的xml值的字符串。