我想选择具有特定值的少数孩子的元素。这是xml的例子:`
<events>
<event>
<startDateTime>2012-12-0128090</startDateTime>
<homeTeam>
<name>TEST123</name>
</homeTeam>
</event>
</events>`
我想要的结果是event,包含值为2012-12-01的startDateTime,并包含homeTeam / Name的TEST值。
我这样想:
//events/event[startDateTime[contains(.,'2012-12-01')] and homeTeam/name[contains(.,'TEST')]]');
这也返回了starDateTime与指定不同的事件。
提前致谢。
答案 0 :(得分:2)
我稍微调整了你的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')])]
我还用不同的名称值测试了它,它似乎工作正常。