2012-03-06 14 views
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> 

を、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

'node'属性ではなく' name'属性を意味しますか? –

+0

うん、申し訳ありません。Name属性 - Sir Crispalot –

+0

'lower-case()'関数はXPath 2.0でのみ利用可能です。 –

答えて

0

よく私はそれを解決することができました!ここソリューションは、あなたがまた

lower-case(

を覚え

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

を見ることができるように、この場合、私は、フレーズ 'のAc' を探しています、XPath 2.0のでのみ使用可能です(Dimitre Novatchev)

関連する問題