假设您有一个如下所示的 XML 文档:
<root>
That was a <b boldness="very">very bold</b> move.
</root>
假设XmlPullParser
位于 root 的开始标签上。有没有一种方便的方法来阅读其中的所有文本root
to a 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;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)