我是 XPath 的新手。
我正在寻找一种方法来获取标签名称包含特定字符串的所有元素。
例如,如果我有如下所示的 XML,我想获取其标签名称包含单词“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')]
关于xml - 用于查找标签名称包含 'Name' 的元素的 XPath 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14931499/