0
<?xml version="1.0" encoding="UTF-8"?>
<locations>
    <location id="83">
        <location_name>name</location_name>
        <company_name>company a</company_name>
        <machines>
            <machine id="12">A</machine>
            <machine id="312">B</machine>
        </machines>
    </location>
    <location id="85">
        <location_name>name</location_name>
        <company_name>company c</company_name>
        <machines>
            <machine id="21">A</machine>
            <machine id="45">B</machine>
        </machines>
    </location>
</locations>

我正在使用 XOM 并尝试获取所有位置名称,但我不知道如何。

Element root = doc.getRootElement();    
int i = 1;
Element child = (Element) root.getChild(i);
while(child != null)
{
    System.out.println(child.getFirstChildElement("location_name").getValue());
    child = (Element) root.getChild(i++);
}

但这不起作用,它只显示名字,在第二个循环中显示错误。

第二个问题:什么getChildCount()重要?

4

1 回答 1

0

getChild(int i)返回第 i 个子节点,不一定是第 i 个子元素。使用getChildElements("location")并迭代返回的列表。另一种方法是对根元素使用 XPath 查询。

此外,javadoc 非常有用:http ://www.xom.nu/apidocs/ 。

于 2011-04-27T09:38:02.030 回答