如何获取 Nokogiri 的属性值?

3

我的xml文件包含多个语句,例如:

<House name="bla"><Room id="bla" name="black" ><blah id="blue" name="brown"></blah></Room></House>

我需要获取给定关键字的所有值。

我使用 nodes = doc.css("[name]") 获取了 <Room id="bla" name="black" ><blah id="blue" name="brown"></blah></Room>

但是如何从中获取一个关键字的值呢?是否有更简单的方法?


我需要获取的是“黑色”的值——基于什么?您能否描述一下您的要求,而不使用“黑色”这个词? - Stefan
@Stefan:修改过的 - InQusitive
1个回答

3
node_names = doc.css("[name]").map { |node| node['name'] }

对于所有节点名称,或仅针对“black”,

black = doc.at_css("[name]")['name']

第二行只返回第一次出现的内容。如果是真的,能否请您添加该语句。 - InQusitive
是的,关于你想要哪一个,问题不够清晰。 - Amadan
doc.at_css('[param="blue"]')['name'] - Amadan
在 Ruby 中,一切都这么简单吗 :) - InQusitive
另外一个问题,目前我提出了与上面问题相关的问题 - http://stackoverflow.com/questions/40103791/how-to-get-nokogiri-parent-attribute-value - InQusitive
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接