1

我想选择具有特定值的孩子很少的元素。这是xml的示例:`

<events>
  <event>
    <startDateTime>2012-12-0128090</startDateTime>
    <homeTeam>
      <name>TEST123</name>
    </homeTeam>
  </event>
</events>`

我想要的结果是事件,它包含值为 2012-12-01 的 startDateTime 并包含 homeTeam/Name 的 TEST 值。

我正在尝试这样:

//events/event[startDateTime[contains(.,'2012-12-01')] and homeTeam/name[contains(.,'TEST')]]');

这也会返回与指定的 starDateTime 不同的事件。

提前致谢。

4

1 回答 1

3

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

我还用不同的名称值对其进行了测试,它似乎工作正常。

于 2012-11-28T12:32:38.793 回答