具有多个子值的XPATH选择节点部分匹配
问题描述:
我想选择具有特定值的子元素的元素。下面是示例XML的:`具有多个子值的XPATH选择节点部分匹配
<events>
<event>
<startDateTime>2012-12-0128090</startDateTime>
<homeTeam>
<name>TEST123</name>
</homeTeam>
</event>
</events>`
结果,我要的是事件,包含的startDateTime值为2012年12月1日,并包含homeTeam /名称的测试值。
我想是这样的:
//events/event[startDateTime[contains(.,'2012-12-01')] and homeTeam/name[contains(.,'TEST')]]');
这将返回我也starDateTime从指定的不同的事件。
在此先感谢。
答
我调整你的XML和XPath略有
<events>
<event>
<startDateTime>2012-12-0128090</startDateTime>
<homeTeam>
<name>TEST123</name>
</homeTeam>
</event>
<event>
<startDateTime>*2013-12-0128090*</startDateTime>
<homeTeam>
<name>TEST123</name>
</homeTeam>
</event>
</events>
然后我用下面的XPath访问第二个节点:
//events/event[(startDateTime[contains(.,'2013-12-01')]) and (homeTeam/name[contains(.,'TEST')])]
我也有不同的名称值进行了测试,它似乎工作正常。
您的XPath是正确的。 –