我有简单的 XML 文件。
<Parent id=1>
<Child>1</Child>
<Child>2</Child>
</Parent>
<Parent id=2>
<Child>3</Child>
<Child>4</Child>
</Parent>
如何获取父 id=2 的子标签的值?这是我的代码。
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
XmlPullParser xpp = factory.newPullParser();
xpp.setInput(new StringReader(readFileAsString(xmlFilename)));
int event;
while ((event = xpp.next()) != XmlPullParser.END_DOCUMENT)
{
//found <Parent id=2>
if (event == XmlPullParser.START_TAG && xpp.getName().equalsIgnoreCase("Parent")
&& Integer.parseInt(xpp.getAttributeValue(null, "id")) == 2)
{
//TODO - what's next?
}
}
TODO标签后我该怎么办?我尝试了do-while - 一切都错了。编辑:似乎在这种情况下不能使用 XmlPullParser。它看不到具有不同属性的相同标签之间的区别。我将尝试使用 SAXParser 的 startElement(String uri, String localName, String qName, Attributes attributes)。