【问题标题】:XPath for an element when a related element contains a value?当相关元素包含值时元素的XPath?
【发布时间】:2016-09-20 16:56:37
【问题描述】:

我有以下 XML:

<originDestinationDetails>
    <originDestination></originDestination>
    <itineraryInfo>
      <elementManagementItinerary>
        <reference>
          <qualifier>ST</qualifier>
          <number>1</number>
        </reference>
        <segmentName>RU</segmentName>
        <lineNumber>2</lineNumber>
      </elementManagementItinerary>
      <travelProduct>
        <product>
          <depDate>201116</depDate>
        </product>
        <boardpointDetail>
          <cityCode>CWB</cityCode>
        </boardpointDetail>
        <companyDetail>
          <identification>1A</identification>
        </companyDetail>
      </travelProduct>
      <itineraryMessageAction>
        <business>
          <function>32</function>
        </business>
      </itineraryMessageAction>
      <relatedProduct>
        <quantity>1</quantity>
        <status>HK</status>
      </relatedProduct>
      <itineraryFreetext>
        <freetextDetail>
          <subjectQualifier>3</subjectQualifier>
        </freetextDetail>
        <longFreetext>-CAR/HERTZ/PUP-20NOV-0700/RT-22NOV-1800/VT-ICAR/CF-125456/SI-NVS</longFreetext>

我想从

返回cityCode

originDestinationDetails/itineraryInfo/travelProduct/boardpointDetail/cityCode

但仅在 longFreetext 节点包含 'CAR' 的情况下。

我已经在这里工作了几个小时,并尝试了各种不同的'contains'。只是无法让它工作。任何帮助将不胜感激!

【问题讨论】:

标签: xml xpath


【解决方案1】:

这个 XPath,

/originDestinationDetails
    /itineraryInfo[contains(itineraryFreetext/longFreetext, 'CAR')]
    /travelProduct/boardpointDetail/cityCode 

将仅选择 itineraryInfo 元素中的那些 cityCode 元素,其中 longFreetext 的字符串值包含字符串 "CAR"

【讨论】:

  • 完美!非常感谢。
猜你喜欢
  • 2011-04-20
  • 2018-04-21
  • 2020-02-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多