gpt4 book ai didi

Ruby - 使用 REXML 查找元素

转载 作者:太空宇宙 更新时间:2023-11-03 17:57:12 24 4
gpt4 key购买 nike

我有一个 XML 文件,其中包含有关特定城市的零售店及其位置的信息,但我在从中检索数据时遇到了一些问题。问题是我可以通过遍历名称元素来按名称找到商店,但是一旦找到我要查找的商店,我就不知道如何获取相应的地址。有谁知道如何做到这一点?我使用 REXML 作为我的主要 XML 模块。这是我的 XML 文件和代码的样子

XML:

<stores>
<store>
<name>Supermarket</name>
<address>2136 56th Avenue</address>
</store>
<store>
<name>Convenience Store</name>
<address>503 East Avenue</address>
</store>
<store>
<name>Pharmacy</name>
<address>212 Main Street</address>
</store>
</stores>

ruby :

xml_file.elements.each('stores/store/name') do |name|
if input == name
print name + "\n"
#code to retrieve the address
print address + "\n\n"
end
end

最佳答案

xml_file = Document.new File.new("myxml.xml")

xml_file.elements.each("stores/store") do |element|
if element.attributes["name"] == input
puts element.attributes["address"]
end
end

属性是为了

<store store_name="mystore" 

得到

element.attributes["store_name"]

编辑,抱歉试试这个

xml_file.elements.each("stores/store") do |element| 
if element.name.text == input
puts element.address.text
end
end

根据评论,正确的语法是 dialog.elements['name'].text

关于Ruby - 使用 REXML 查找元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11315295/

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