異なるレベルの複数のノードを選択するにはどうすればいいですか? 質問する

異なるレベルの複数のノードを選択するにはどうすればいいですか? 質問する

この(簡略化された)XML は次のようになります。

<?xml version="1.0" encoding="UTF-8"?>
<kml>
<Document>
        <Placemark>
            <name>Poly 1</name>
            <Polygon>
                        <coordinates>
                            -58.40844625779582,-34.60295278618136,0
                        </coordinates>
            </Polygon>
        </Placemark>
        <Placemark>
            <name>Poly 2</name>
            <Polygon>
                        <coordinates>
                            -58.40414334150432,-34.59992445476809,0
                        </coordinates>
            </Polygon>
        </Placemark>
</Document>
</kml>

各 Placemark の名前と座標を選択するにはどうすればよいですか? 現在、次の XPath 式を使用して名前を選択できます。

//Document//Placemark//name

他のデータなしで両方を選択するにはどうすればよいですか?

ベストアンサー1

XPath 式ではユニオンを使用できます。次の演算子を使用します:|

//Document/Placemark/name | //Document/Placemark/Polygon/coordinates

//(を使用しないでください子孫必要がなければ、 軸を使用してください。 を使用すると//、 も機能します: //name | //coordinates。正確なパスを指定した方がパフォーマンスが向上します。

おすすめ記事