xpath                
            特定の属性を持つノードを見つける
        
        
            
    サーチ…
構文
- 特定のノードの内部
- / path to / element [@attribute_name]
 
 - ドキュメント内のどこにでも
- //*[@属性名]
 
 - いくつかの値を持つ特定のノードの内部
- / path to / element [@ attribute_name = '検索値']
 - / pathへのパス/要素[@ attribute_name = "検索値"]
 
 - 何らかの価値を持つドキュメント内のどこでも
- // * [@ attribute_name = '検索文字列']
 - // * [@ attribute_name = "検索文字列"]
 
 
パラメーター
| セレクタ | 関数 | 
|---|---|
| @属性名 | 存在する場合、ノードの属性値を選択します | 
備考
[@ attribute_name]を使うと、値に関係なく属性を持つノードを選択できます。
このセレクタは、私たちのニーズに合わせて、start-withとlowercaseなどの関数や関数の組み合わせのいずれかを使用できます。
特定の属性を持つノードを見つける
XML
<Galaxy>
    <name>Milky Way</name>
    <CelestialObject name="Earth" type="planet"/>
    <CelestialObject name="Sun" type="star"/>
</Galaxy>
 XPATH
/Galaxy/*[@name]
 または
//*[@name]
 出力
<CelestialObject name="Earth" type="planet" />
<CelestialObject name="Sun" type="star" />
        特定の属性値を持つノードを見つける
XML
<Galaxy>
    <name>Milky Way</name>
    <CelestialObject name="Earth" type="planet"/>
    <CelestialObject name="Sun" type="star"/>
</Galaxy>
 XPATH
/Galaxy/*[@name='Sun']
 または
//*[@name='Sun']
 出力
<CelestialObject name="Sun" type="star" />
        属性値の部分文字列マッチングによるノードの検索
XML
<Galaxy>
    <name>Milky Way</name>
    <CelestialObject name="Earth" type="planet"/>
    <CelestialObject name="Sun" type="star"/>
</Galaxy>
 XPATH
/Galaxy/*[contains(@name,'Ear')]
 または
//*[contains(@name,'Ear')]
 一重引用符の代わりに二重引用符を使用することもできます。
/Galaxy/*[contains(@name, "Ear")]
 出力
<CelestialObject name="Earth" type="planet" />
        属性値の部分文字列マッチングによるノードの検索(大文字小文字を区別しない)
XML
<Galaxy>
    <name>Milky Way</name>
    <CelestialObject name="Earth" type="planet"/>
    <CelestialObject name="Sun" type="star"/>
</Galaxy>
 XPATH
/Galaxy/*[contains(lower-case(@name),'ear')]
 または
//*[contains(lower-case(@name),'ear')]
 または、二重引用符で囲んだ文字列を使用します。
//*[contains(lower-case(@name), "ear")]
 出力
<CelestialObject name="Earth" type="planet" />
        属性の値の先頭に一致する部分文字列でノードを見つける
XML
<Galaxy>
    <name>Milky Way</name>
    <CelestialObject name="Earth" type="planet"/>
    <CelestialObject name="Sun" type="star"/>
</Galaxy>
 XPATH
/Galaxy/*[starts-with(lower-case(@name),'ear')]
 または
//*[starts-with(lower-case(@name),'ear')]
 出力
<CelestialObject name="Earth" type="planet" />
        属性の値の終わりに一致する部分文字列でノードを見つける
XML
<Galaxy>
    <name>Milky Way</name>
    <CelestialObject name="Earth" type="planet"/>
    <CelestialObject name="Sun" type="star"/>
</Galaxy>
 XPATH
/Galaxy/*[ends-with(lower-case(@type),'tar')]
 または
//*[ends-with(lower-case(@type),'tar')]
 出力
<CelestialObject name="Sun" type="star" />
    
    
    
    
    Modified text is an extract of the original Stack Overflow Documentation
        ライセンスを受けた CC BY-SA 3.0
        所属していない Stack Overflow