0
InputStream is = openHTTPConnection("blahblah");
DocumentBuilderFactory fac = DocumentBuilderFactory.newInstance();
DocumentBuilder builder;
Document doc = null;
try {
    builder = fac.newDocumentBuilder();
    doc = builder.parse(is);
} catch (ParserConfigurationException e) {
    e.printStackTrace();
} catch (SAXException e) {
    e.printStackTrace();
}

doc.getDocumentElement().normalize();

NodeList parentNodes = doc.getElementsByTagName("Parent");

for (int i = 0; i < parentNodes.getLength(); i++){
   Node itemNode = parentNodes.item(i);

   if (itemNode.getNodeType() == Node.ELEMENT_NODE){
      Element parentElement = (Element) itemNode;

      NodeList childNodes = ??????
   }
}

我的 XML 文件:

<Blah>
   <Parent>
      <Child>
         ...
      </Child>
   </Parent>
</Blah>

如何获取 Parent 的子元素?教程说NodeList childNodes = (parentElement).getElementsByTagName("Child");但这对我来说没有意义。

看起来我的帖子主要是代码;但我不知道要添加什么

4

2 回答 2

0

教程是正确的。这是你如何得到它:

NodeList childNodes = (parentElement).getElementsByTagName("Child");

Element childElement=(Element)childNodes.item[0];

如果有多个<child>节点,可以循环遍历迭代器

于 2013-10-08T04:18:08.547 回答
0

通过这种方式,您可以在android中获取xml的子元素

你可以写一个xsl

<xsl:template match="/">
  <xsl:for-each select="section">
    <xsl:value-of select="concat('link ',photo@id, ' from ',@name,' is ',photo@ilink)"><xsl:value-of> 
  </xsl:for-each>
</xsl:template>
run the xsl on your xml, the output will be link 1 from section1 is ImageLink 1 .. link 4 from section2 is ImageLink 2
于 2013-10-08T04:19:49.877 回答