【发布时间】:2015-11-28 23:42:30
【问题描述】:
如何仅使用 xml DOM 解析器在 jbeil 中获取餐厅名称,请帮助: 这是我的 XML 文件
<city>
<beirut>
<restaurant>
<name>sada</name>
</restaurant>
</beirut>
<jbeil>
<restaurant>
<name>sada</name>
</restaurant>
</jbeil>
<sour>
<restaurant>
<name>sada</name>
</restaurant>
</sour>
</city>
我想使用 dom 解析器获取 Jbeil 中餐厅的名称,这段代码给了我所有城市的餐厅名称:
try {
File inputFile = new File("src/josephXml.xml");
DocumentBuilderFactory dbFactory
= DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(inputFile);
doc.getDocumentElement().normalize();
NodeList nList = doc.getElementsByTagName("Restaurant");
for (int temp = 0; temp < nList.getLength(); temp++) {
Node nNode = nList.item(temp);
if (nNode.getNodeType() == Node.ELEMENT_NODE) {
Element eElement = (Element) nNode;
jTextArea1.append( "\n"+"Name : "+ eElement
.getElementsByTagName("name")
.item(0)
.getTextContent()+"\n "
【问题讨论】:
-
NodeList nList = doc.getElementsByTagName("Restaurant");
-
你会怎么看 NodeList nList = doc.getElementsByTagName("restaurant");.... 有一个小而显着的差异 R --> r,其余的似乎都很好,所以这只是一个错字
-
不,我试过餐厅,它有效,但给了我所有城市的所有餐厅,我只想要 jbeil 的餐厅,使用 dom
-
你为什么不先得到那个标签,然后再从那个得到餐厅标签?