大家好朋友我得到了一个包含大量内容的xml文件,我可以用解析解析内容,但问题是标签之间有html链接,而解析时我只得到html链接后的文本。链接前的文字丢失
对于ex我有一个标签
<table> this is my text before html <a href="i got a link here">link</a> this is my text after link.
</table>
这里我得到了输出中的链接之后的文本,如何过来这个...提前感谢
答案 0 :(得分:0)
其中一种方式:
String a = "<table> this is my text before html <a href=\"http://stackoverflow.com/questions/9161924/how-to-parse-xml-with-html-tags-in-between-android\">link</a> this is my text after link. </table>";
String link = a.substring(a.indexOf("href=\"")+6,a.indexOf("\">"));
System.out.println(link);
答案 1 :(得分:0)
使用
XmlPullParser parser =...;
...
parser.getAttributeValue(null, "href");
获取属性。当然,您不能将它们作为文本或标记
答案 2 :(得分:0)
适用于我,因此您必须展示更多内容 - 例如,用于解析XML的代码或原始XML文档中的真实代码段 - 以便我们更有帮助。
与此同时,这是一个快速演示/示例,我运行以了解事情是如何运作的。我在一个名为String
的固定DOCUMENT
中有一个XML文档,其中包含以下内容:
<root>
<element>
<table>text before <a href="url">link</a> text after</table>
</element>
<element>
free text
</element>
</root>
一个非常简单的循环负责解析此文档,并在日志中显示解析器能够为每个元素提取的文本:
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
XmlPullParser xpp = factory.newPullParser();
xpp.setInput(new StringReader(DOCUMENT));
int eventType = xpp.getEventType();
while (eventType != XmlPullParser.END_DOCUMENT) {
if (eventType == XmlPullParser.START_DOCUMENT) {
Log.d("XmlDemo", "Start document");
} else if (eventType == XmlPullParser.START_TAG) {
Log.d("XmlDemo", "Start tag: " + xpp.getName());
} else if (eventType == XmlPullParser.END_TAG) {
Log.d("XmlDemo", "End tag: " + xpp.getName());
} else if (eventType == XmlPullParser.TEXT) {
Log.d("XmlDemo", "Text: " + xpp.getText());
}
eventType = xpp.next();
}
Log.d("XmlDemo", "End document");
然后,在运行中,日志显示(以及其他)以下条目:
02-06 15:45:38.981: D/XmlDemo(371): Start tag: table
02-06 15:45:39.001: D/XmlDemo(371): Text: text before
02-06 15:45:39.001: D/XmlDemo(371): Start tag: a
02-06 15:45:39.021: D/XmlDemo(371): Text: link
02-06 15:45:39.021: D/XmlDemo(371): End tag: a
02-06 15:45:39.041: D/XmlDemo(371): Text: text after
02-06 15:45:39.041: D/XmlDemo(371): End tag: table
如您所见,解析器能够在链接之前和之后提取文本,尽管不是在单个操作中。