gpt4 book ai didi

Ruby/Nokogiri xmlns 和其他通过 xpath 的扩展

转载 作者:太空宇宙 更新时间:2023-11-03 16:03:10 25 4
gpt4 key购买 nike

在下面的代码中,我尝试使用 xpath 提取“90000”元素,但 Nokogiri 返回 nil

<?xml version="1.0" encoding="UTF-8"?>
<rspec xmlns="URL1"
xmlns:add="URL2">

<node>
<price add:cars="90000"/>
</node>
</rspec>

我尝试命令:

puts  root.xpath("//add:cars", "add" => "URL2")

但是好像不行。你能帮帮我吗,我是 Ruby 的新手,我搜索了很多但找不到任何东西。

最佳答案

add:carsprice 元素的一个属性,而不是元素本身。你想要的语法是:

root.xpath("//xmlns:price/@add:cars")

或者甚至可能只是

root.xpath("//@add:cars")

如果你想要所有元素的add:cars属性。

请注意,由于 namespace 是在根上声明的,Nokogiri 会自动注册它们,因此您无需在调用 xpath 时包含映射(如果您的文档需要包含它们在非根元素上声明 namespace 更复杂)。此外,默认 namespace 是使用前缀 xmlns 注册的,因此您可以在 XPath 中使用它。

关于Ruby/Nokogiri xmlns 和其他通过 xpath 的扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20228382/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com