Nokogiri的XML命名空间问题



我有以下XML:

<body>
  <hello xmlns='http://...'>
     <world>yes</world>
  </hello>
</body>

当我将其加载到Nokogiri XML文档中,并调用document.at_css "world"时,我将返回nil。但是当我删除hello的名称空间时,它工作得很好。我知道我可以调用document.remove_namespaces!,但是为什么它不能与名称空间一起工作?

因为Nokogiri要求您注册要在其中查询的XML名称空间(请阅读有关XML名称空间的更多信息)。但是,如果在调用at_css时指定了该元素的名称空间,则应该仍然能够查询该元素。要查看确切的用法,请查看css方法文档。它应该看起来像这样:

document.at_css "world", 'namespace_name' => 'namespace URI'

相关内容

  • 没有找到相关文章

最新更新