我是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>
发布于 2013-02-18 17:18:28
对于XPath解决方案:
//*[contains(local-name(), 'Name')]
发布于 2016-10-19 15:11:06
由于没有名称空间前缀,因此您还可以使用
//*[contains(name(), 'Name')]
https://stackoverflow.com/questions/14931499
复制相似问题