1
У меня есть следующий XML:Xpath Топоры - как выбрать атрибут дочернего узла
<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, которые содержат определенную фразу в атрибуте Name. Важно, чтобы я выбирал узлы 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"))]]
Вы имеете в виду атрибут 'name', а не атрибут' node'? –
Да, извините, что атрибут имени - Sir Crispalot –
Обратите внимание, что функция 'lower-case()' доступна только в XPath 2.0. –