繁体   English   中英

使用Ruby和Nokogiri解析XML

[英]Parsing XML with Ruby and Nokogiri

我具有以下XML结构:

<charsets>
  <charset>
    <name>ANSI_X3.4-1968</name>
    <aliases>
      <alias>iso-ir-6</alias>
      <alias>ANSI_X3.4-1986</alias>
      <alias>ISO_646.irv:1991</alias>
      <alias>ASCII</alias>
      <alias>ISO646-US</alias>
      <alias>US-ASCII</alias>
      <alias>us</alias>
      <alias>IBM367</alias>
      <alias>cp367</alias>
      <alias>csASCII</alias>
    </aliases>
  </charset>
  <charset>
    <name>ISO-10646-UTF-1</name>
    <aliases>
      <alias>csISO10646UTF1</alias>
    </aliases>
  </charset>
</charsets>

我可以使用Ruby和Nokogiri来获取name节点的文本内容:

require 'nokogiri'
require 'open-uri'

doc = Nokogiri::XML(File.open("StandardCharsets.xml"))
@charsets = doc.css("charsets name").map {|node| node.children.text }

但是,我想要的是按name在源文档中显示的顺序的所有namealias节点的文本内容。 我尝试的一切都失败了。

有没有人有一个很好的例子,如何做到这一点?

换线

@charsets = doc.css("charsets name").map {|node| node.children.text }

@charsets = doc.css("charsets name, charsets alias").map {|node| node.children.text }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM