Xpath Axes - 如何选择子节点属性

时间:2012-03-06 21:17:19

标签: xpath axes

我有以下XML:

<ArrayOfStationStatus xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  autopagerMatchedRules="1">  
  <StationStatus ID="20" StatusDetails="To the platform due to planned maintenance work.">
     <Station ID="20" Name="Bermondsey"/>
   <Status ID="NS" CssClass="Closed" Description="No Step Free Access" IsActive="true">
     <StatusType ID="2" Description="Station"/>
   </Status>  
</StationStatus>
</ArrayOfStationStatus>

并且希望在Name属性中选择包含特定短语的StationStatus节点。选择SationStatus节点非常重要。

这是我提出的xpath,但它不正确:

/ArrayOfStationStatus/StationStatus[contains(lower-case(child::Station/@Name),lower-case('phrase'))]

EDIT ::::::::

我刚刚解决了!这是我需要的代码:

/ArrayOfStationStatus/StationStatus[child::Station[contains(lower-case(attribute::Name),lower-case("Ac"))]]

1 个答案:

答案 0 :(得分:0)

我设法解决了这个问题!这是解决方案,在这种情况下,我正在寻找短语'Ac',你可以看到

/ArrayOfStationStatus/StationStatus[child::Station[contains(lower-case(attribute::Name),lower-case("Ac"))]]

还记得

lower-case(

仅适用于xpath 2.0(Dimitre Novatchev)