假设我有以下XML:
<Tree>
<Level>
<Identity>
<Name>FirstLevel</Name>
</Identity>
<Level2>
<Data>Data1</Data>
</Level2>
</Level>
<Level>
<Identity>
<Name>SecondLevel</Name>
</Identity>
<Level2>
<Data>Data2</Data>
</Level2>
</Level>
<Level>
<Identity>
<Name>ThirdLevel</Name>
</Identity>
<Level2>
<Data>Data3</Data>
</Level2>
</Level>
</Tree>
换句话说,每个Level
节点都有一个Identity
节点,并带有一个名称。
我想从Secondlevel
&gt;获取数据Level2
&gt; Data
节点。
现在,我知道我可以获得所有Level2
&gt; Data
个带有XPath的节点:
Tree/Level/Level2/Data
但是只从SecondLevel节点获取数据,该语法将如何变化? 我正在尝试这样的事情:
Tree/Level[/Identity/Name='Secondlevel']/Level2/Data
但那不起作用......我怎么能写这个XPath并且最好尽可能高效?
感谢!!!
答案 0 :(得分:0)
GOT IT !!!
对于其他任何会遇到此类问题的人来说,正确的语法 close 就我认为......这是:
Tree/Level[Identity/Name='Secondlevel']/Level2/Data
...您从内部规范中删除/
。