我正在使用Nokogiri解析大型XML文件。说我有以下结构:
<menagerie>
<penguin>Pablo</penguin>
<penguin>Mortimer</penguin>
<bull>Ferdinand</bull>
<aardvark>James Cornelius Madison Humphrey Zophar Handlebrush III</aardvark>
</menagerie>
我可以这样数非企鹅:
xml.xpath('//menagerie//*[not(penguin)]').length // 2
但是,如何获得这样的标签列表呢? (确切的格式并不重要;我只想可视地扫描非企鹅。)
bull
aardvark
更新
这给了我我想要的列表-谢谢 Oded 和 TMN 和 delnan !
xml.xpath('//menageries/*[not(penguin)]').each do |node|
puts node.name()
end
最佳答案
您可以使用 name()
或 local-name()
XPath函数。
请参阅zvon上的示例。
关于ruby - 获取标签名称的xpath语法是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4727610/