我是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>
or
组合它们)://*[contains(local-name(), 'Name')][local-name() != 'PeriodName']
。 - Jens Erat