繁体   English   中英

使用REXML读取xml文件,说 <UNDEFINED> ... </>

[英]Reading xml file using REXML, says <UNDEFINED> … </>

我有一个非常简单的xml文件,我试图访问:

<article>
    <text>hello world</text>
</article>

我到目前为止这样做:

file = File.open("#{Rails.root}/public/files/#{file_id}.xml", "r")
xml = file.read

doc = REXML::Document.new(xml)

当我在rails控制台中运行此代码时,我看到:

1.9.3-p194 :033 > doc.inspect
 => "<UNDEFINED> ... </>" 

我似乎无法理解为什么它没有正确加载文件,我也无法访问文本xml元素。

它正确加载,文档只是没有根节点。

require "rexml/document"
doc = REXML::Document.new DATA.read

doc.root_node # => <UNDEFINED> ... </>
doc.inspect   # => "<UNDEFINED> ... </>"
doc.to_s      # => "<article>\n    <text>hello world</text>\n</article>\n"

doc.get_elements('//article') # => [<article> ... </>]
doc.get_elements('//text')    # => [<text> ... </>]

__END__
<article>
    <text>hello world</text>
</article>

顺便说一句,我认为Ruby社区几乎普遍支持Nokogiri进行xml解析。

暂无
暂无

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

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