我有以下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"))]]
答案 0 :(得分:0)
我设法解决了这个问题!这是解决方案,在这种情况下,我正在寻找短语'Ac',你可以看到
/ArrayOfStationStatus/StationStatus[child::Station[contains(lower-case(attribute::Name),lower-case("Ac"))]]
还记得
lower-case(
仅适用于xpath 2.0(Dimitre Novatchev)