0

我正在尝试在 flickr 中解析 xml 提要。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" />
4

2 回答 2

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,做任何你想做的事(拿文本,...)

于 2013-05-07T15:54:07.773 回答
0

我想 XPath 是你的朋友。您可能应该更多地研究 google 上的 XPath 教程。例如,您可能希望看到的一个链接是这个

于 2013-05-07T15:56:27.993 回答