这是我想从中检索值的xml。
<dsml>
<entries>
<entry dn="uid=7686,c=in,ou=pages,o=example.com">
<att name="uid">
<value>7568766</value>
<value>756876634</value>
</att><att name="callname">
<value>jhsadkjh</value>
<value>jhsadkjhakjdgakj</value>
</att></entry>
</entries>
</dsml>
正如您所看到的,每个属性都有2个与之关联的值。我想只获取第一个。 下面是我使用的一些xpath:
//dsml/entries/entry/att[@name = 'uid']/value[1]
//dsml/entries/entry/att[@name = 'uid']/value/[1]
但它总是抛出异常。
答案 0 :(得分:2)
此xpath仅从名为“att”的每个标记中获取第二个“value”标记:
//dsml/entries/entry/att/value[1]
或者,如果您只想从“uid”获取'value',您可以使用:
//dsml/entries/entry/att[@name='uid']/value[1]
答案 1 :(得分:0)
att
和attr
不是同一个元素。此外,</enteries>
无法关闭<entries>
。
以下内容适用于xsh:
/dsml/entries/entry/att[@name = 'uid']/value[1]
答案 2 :(得分:0)
您对同一元素使用不同的名称。 entries
为开放标记,enteries
为结束标记。这些名称应该相同。同样在xml中,元素的名称为att
,在Xpath中,您试图找到attr