使用Commons Configuration获取特定的XML子值

时间:2011-11-30 19:47:35

标签: java xml xpath apache-commons apache-commons-config

假设我们有以下XML:

<root>
    <sub>
        <id>1</id>
        <values>
            <value>1</value>
            <value>2</value>
        </values>
    </sub>
    <sub>
        <id>2</id>
        <values>
            <value>16</value>
            <value>15</value> 
        </values>
    </sub>
</root>

我想用Apache Commons配置:我希望sub获得id 2的所有值。我怎么能实现这一目标?我在文档中找不到任何内容,我如何使用动态层次结构编号进行查询。

2 个答案:

答案 0 :(得分:4)

您可以使用XPath:

//sub[id = 2]/values/value

答案 1 :(得分:1)

//经常导致执行缓慢(导致搜索整个XML(子)树。)

使用

/*/sub[id = 2]/values/value

这将选择value个元素的子元素values元素,该元素是sub元素的子元素,其id子元素具有字符串值{{1} }(而"2")是XML文档顶部元素的子元素。