假设你有一个XML文档,像这样:
<root>
That was a <b boldness="very">very bold</b> move.
</root>
假设XmlPullParser
是root的开始标记。 是否有阅读中的所有文本一个方便的方法root
的String
,有点像innerHtml
的DOM?
还是我来写,再现解析标签的实用方法自己? 当然,这似乎是浪费时间给我。
String myDesiredString = "That was a <b boldness=\"very\">very bold</b> move."
此方法应约覆盖它,但不与单标签或命名空间的处理。
public static String getInnerXml(XmlPullParser parser)
throws XmlPullParserException, IOException {
StringBuilder sb = new StringBuilder();
int depth = 1;
while (depth != 0) {
switch (parser.next()) {
case XmlPullParser.END_TAG:
depth--;
if (depth > 0) {
sb.append("</" + parser.getName() + ">");
}
break;
case XmlPullParser.START_TAG:
depth++;
StringBuilder attrs = new StringBuilder();
for (int i = 0; i < parser.getAttributeCount(); i++) {
attrs.append(parser.getAttributeName(i) + "=\""
+ parser.getAttributeValue(i) + "\" ");
}
sb.append("<" + parser.getName() + " " + attrs.toString() + ">");
break;
default:
sb.append(parser.getText());
break;
}
}
String content = sb.toString();
return content;
}