私はXPathの初心者です。
タグ名に特定の文字列が含まれるすべての要素を取得する方法を探しています。
たとえば、次のようなXMLがある場合、タグ名にWord 'Name'が含まれるすべての要素を取得します。つまり、次の要素を取得したい:_<SquareName>
_、_<RectangleName>
_、および_<ParallelogramName>
_。
name()
、contains()
などの組み合わせを試しましたが、うまくいきませんでした。提案してください。
_<Objects>
<Four-Sided>
<Square>
<SquareName>ABCD</SquareName>
<Length>4</Length>
<Height>4</Height>
<Colour>Blue</Colour>
</Square>
<Rectangle>
<RectangleName>EFGH</RectangleName>
<Length>10</Length>
<Height>6</Height>
<Colour>Brown</Colour>
</Rectangle>
<Parallelogram>
<ParallelogramName>WXYZ</ParallelogramName>
<Length>12</Length>
<Height>4</Height>
<Colour>Black</Colour>
</Parallelogram>
</Four-Sided>
</Objects>
_
XPathソリューションの場合:
//*[contains(local-name(), 'Name')]
ネームスペースプレフィックスがないため、次を使用することもできます。
//*[contains(name(), 'Name')]