有没有人可以告诉我如何表达以查找第二个孩子?XPath选择具有某个属性值的节点等于某个其他节点的属性值
这不工作...
"/grand/parent/child[@id=concat('#',/grand/@id)]/@age"
谢谢。
对不起。表达是好的。我发现我在其他领域遇到了一些问题,而不是表达本身。
有没有人可以告诉我如何表达以查找第二个孩子?XPath选择具有某个属性值的节点等于某个其他节点的属性值
这不工作...
"/grand/parent/child[@id=concat('#',/grand/@id)]/@age"
谢谢。
对不起。表达是好的。我发现我在其他领域遇到了一些问题,而不是表达本身。
此XPath特定于您提供的代码段。要选择编号为<child>
的编号为#grand
,您可以编写//child[@id='#grand']
。
为了让年龄//child[@id='#grand']/@age
希望这有助于
谢谢你Vaman。它有帮助。我的意思是指一次性评估的表达式('/ grand/@ id')而不是应该首先评估的值('#grand')。 – 2011-05-19 08:43:59
这应该是公认的答案,因为它比OP的解决方案更容易理解。 – Bashevis 2013-03-06 07:01:04
我想这是你想要什么:
/grand/parent/child[@id="#grand"]
谢谢MarcoS。我的意思是指一次性评估的表达式('/ grand/@ id')而不是应该首先评估的值('#grand')。 – 2011-05-19 08:44:25
@ jin-kwon:我明白了。所以,你是XPath就好了。 – MarcoS 2011-05-19 08:49:24
你的XPath工作正常,我。 – dogbane 2011-05-19 08:00:51
我也一样 - [只是在这里测试](http://www.mizar.dk/XPath/Default.aspx),它选择第二个子元素。 – 2011-05-19 08:05:17
对......表达方式正确。对不起。我在表达式(名称空间前缀)和实例文档中犯了一些错误。谢谢。 – 2011-05-19 08:33:06