按节点内容搜索nokgiri :: XML

时间:2013-04-26 08:04:49

标签: ruby-on-rails ruby nokogiri

如何使用nokogiri :: XML搜索节点的内容?

假设我有以下xml

<parts>
  <part>
    <name>foo</name>
    <madein>
    <city>ABC</city>
    <country>XYZ</country>
    </madein>
  </part>
  <part>
    <name>foo</name>
    <madein>
      <city>PQR</city>
      <country>XYZ</country>
    </madein>
  </part>
  <part>
    <name>foo</name>
    <madein>
      <city>ABC</city>
      <country>XYZ</country>
    </madein>
  </part>
</parts>

我想获得/ madein / city为ABC的所有部分。获取零件节点的最佳方法是什么?

我正在使用nokogiri gem。

由于

1 个答案:

答案 0 :(得分:2)

Xpath是XML的查询语言,非常灵活。

为了帮助您入门:

doc = Nokogiri::XML::Document.parse( xml_string )
parts_from_abc = doc.xpath( '/parts/part[madein/city="ABC"]' )

正如bdares在评论中建议的那样,如果您想要做更多事情,请查看tutorials