爲我工作,所以你必須表現出更多的東西 - 你正在使用解析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