为我工作,所以你必须表现出更多的东西 - 你正在使用解析XML,或者从原始的XML文档真正的片断代码,例如 - 为了让我们更有帮助。
在此期间,这里是一个快速演示/例子,我跑,看看事情如何工作的。我有一个固定的String
的XML文档称为DOCUMENT
包含以下内容:
<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
正如你看到的,PA rser能够在链接之前和之后提取文本,尽管不是在单个操作中。
正则表达式,子...的indexOf( “HREF”)......? – 2012-02-06 14:56:53
如果您解析HTML(如“野生”遇到的)我建议你试着像JSoup - 人虐待HTML比红头继子女更多。 – Jens 2012-02-06 15:46:27