Xpath过滤项

时间:2016-08-21 18:45:21

标签: xpath filtering

我有一个简短的问题。如何仅显示值为'的元素。'

我不知道该怎么做。我是XPath中的新手。

 <SalesTransaction>
  <TransactionHeader>
   <TransactionHeaderFields>
  <WrntyID>a</WrntyID>
  <ExternalID/>
  <Type>.</Type>
  <Status>
    Submited
  </Status>
  <CreationDate>
    2015-01-12
  </CreationDate>
  <Date>
    2015-01-12T11:41:29Z
  </Date>
  <DeliveryDate>
    2015-01-12
  </DeliveryDate>
  <Remark/>
</TransactionHeaderFields>
<CatalogFields>
  <CatalogID>
   saf
  </CatalogID>
</CatalogFields>
 </TransactionHeader>
     </SalesTransaction>    

1 个答案:

答案 0 :(得分:0)

忽略任何结构并只查找text()等于&#34;。&#34;的任何元素,您可以使用:

//*[text()='.'] 
  • //*将搜索整个树结构,查找任何级别的任何元素
  • [text()='.']是一个谓词过滤器(类似于SQL中的WHERE子句),它对每个匹配的元素执行测试。只有text()节点的值等于.的节点才会评估为true(),并且将保留剩下的内容。

它不是最有效的XPath表达式,但可能足以满足您的需求。