我调用一个 Web 服务,它返回一些包含在 XML 信封中的 HTML ......类似于:
<xml version="1.0" cache="false">
<text color="white">
<p> Some text <br /> <p>
</text>
</xml>
我使用 XmlPullParser 来解析这个 XML/HTML。获取文本元素,我执行以下操作:
case XmlPullParser.START_TAG:
xmlNodeName = parser.getName();
if (xmlNodeName.equalsIgnoreCase("text")) {
String color = parser.getAttributeValue(null, "color");
String text = parser.nextText();
if (color.equalsIgnoreCase("white")) {
detail.setDetail(Html.fromHtml(text).toString());
}
}
break;
这很好用,可以获取文本或 html元素,即使它包含一些 html 标签。
问题出现时元素的数据以<p>标记开头,如上例所示。在这种情况下,数据丢失并且文本为空。
我该如何解决这个问题?
编辑
感谢Nik & rajesh指出我的服务响应实际上不是有效的 XML & 未正确关闭的元素。但我无法控制服务,所以我无法编辑返回的内容。我想知道是否有类似HTML Agility的东西可以解析任何类型的格式错误的 HTML,或者至少可以获取 html 标签中的内容.. 就像我的情况中的<text> ... </text>内部一样?那也不错。
或者任何我可以用来解析我从服务中得到的东西的东西都会很好,只要它可以很好地实现。
对不起我的英语不好