我有以下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>
并且希望选择"名称"属性中包含特定短语的StationStatus节点。选择SationStatus节点非常重要。
这是我提出的xpath,但它不正确:
/ArrayOfStationStatus/StationStatus[contains(lower-case(child::Station/@Name),lower-case('phrase'))]
编辑::::
我刚刚解决了!这是我需要的代码:
/ArrayOfStationStatus/StationStatus[child::Station[contains(lower-case(attribute::Name),lower-case("Ac"))]]
我成功地解决了它!这是解决方案,在这种情况下,我正在寻找短语"Ac",你可以看到
/ArrayOfStationStatus/StationStatus[child::Station[contains(lower-case(attribute::Name),lower-case("Ac"))]]
还要记住
lower-case(
仅在xpath 2.0(Dimitre Novatchev)中可用