我正在使用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/

10-12 04:57