繁体   English   中英

XPATH选择具有多个子值部分匹配的节点

[英]XPATH select nodes with multiple child values partial matching

我想选择具有特定值的少数孩子的元素。 这是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与指定的事件不同的事件。

提前致谢。

我略微调整了你的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')])]

我也用不同的名称值测试它,它似乎工作正常。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM