现在我的软件将从xml文件中向我显示(根元素:数据),但我需要节点列表。这就是Xml文件的例子:
(数据有“计数”和“人”)
(count = 1)
(人有“名字”和“汽车”)
(name =“Adam”)
(汽车有“Porshe”和“minimini”)
Softweare
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
import org.w3c.dom.Node;
import org.w3c.dom.Element;
import java.io.File;
public void Ada()
{
File fXmlFile = new File("c:\\file.xml");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(fXmlFile);
doc.getDocumentElement().normalize();
System.out.println("Root element :" + doc.getDocumentElement().getNodeName());
}
XML文件:
<data>
<count>1</count>
<person>
<name>Adam<name>
<cars>
<fast>Porshe</fast>
<slow>MiniMini</slow>
</cars>
</person>
</data>
答案 0 :(得分:3)
您可以使用:
doc.getChildNodes()
更深入,递归深入,直到没有孩子离开。
它会返回NodeList
您可以使用size()
来强制使用&#39;一个for循环。
答案 1 :(得分:1)
看看XPath:http://developer.android.com/reference/javax/xml/xpath/package-summary.html
基本上你可以用Android上的XML做任何事情。
类似于:
XPath x = XPathFactory.newInstance().newXPath();
String expression = "/data";
InputSource source = new InputSource("someXML.xml");
NodeSet nodes = (NodeSet)xpath.evaluate(expression, source, XPathConstants.NODESET);
那应该给你一个节点的NodeSet。
希望有所帮助。