我正在尝试在flickr中解析xml feed。 API给出了这样的答案
blah-blah-blah
qweqweqweq
<title>qfasf</title>
<entry>
<title>Hello</title>
blah-blah
</entry>
我的代码
while (parser.getEventType() != XmlPullParser.END_DOCUMENT) {
switch (parser.getEventType()) {
case XmlPullParser.START_TAG:
if (parser.getName().equalsIgnoreCase("title")) {
image.imgTitle = parser.nextText();
Log.e(LOG_TAG, image.getImgTitle());
}
break;
case XmlPullParser.END_TAG:
if (parser.getName().equalsIgnoreCase("entry")) {
}
default:
break;
}
parser.next();
但它正在解析文本中的所有标题。如何让它只解析条目标题? 还有人质疑如何解析标签
中的属性(href) <link rel="enclosure" type="image/jpeg" href="http://farm8.staticflickr.com/7297/8716931515_3e8d0826ff_b.jpg" />
答案 0 :(得分:0)
Document doc = db.parse(document);
NodeList name = doc.getElementsByTagName("title");
Element line = (Element) name.item(0);
System.out.println("Name: " + getCharacterDataFromElement(line));
这种方式更清洁:
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document document = db.parse(new File("input.xml"));
NodeList nodeList = document.getElementsByTagName("title");
你有你的nodeList,可以随心所欲地做任何事情(拿文本......)
答案 1 :(得分:0)
我想XPath是你的朋友。您可能应该在谷歌上更多地了解XPath教程。 例如,您可能希望看到的一个链接是this