[英]Ruby REXML confusion
嗨,我正在尝试从从 mysql 命令行工具导出的 XML 文件中解析数据。 我正在关注位于此处的教程: http://www.germane-software.com/software/rexml/docs/tutorial.html以提取我想要的数据,这就是标签中的内容
XML 文件:
<resultset statement='select count(id) as 'Builds/Month' ,
CONCAT(MONT HNAME(submittime), '-',
YEAR(submittime)) as 'Month-Year'fr om builds group by
YEAR(submittime), MONTH(submittime)'>
<row>
<field name='Builds/Month'>11</field>
<field name='Month-Year'>May-2010</field>
</row>
<row>
<field name='Builds/Month'>38</field>
<field name='Month-Year'>June-2010</field> </row>
<row>
<field name='Builds/Month'>35</field>
<field name='Month-Year'>July-2010</field>
</row>
<row>
<field name='Builds/Month'>51</field>
<field name='Month-Year'>August-2010</field>
</row>
<row>
<field name='Builds/Month'>10</field>
<field name='Month-Year'>September-2010</field>
</row>
....
</resultset>
这就是我正在做的事情:
doc = Document.new(File.new("month.xml"))
doc.elements.each("//row") {|e| puts e.attributes["field"]}
但是当我这样做时,我得到的所有实例都是 nil
任何帮助都会很棒。 谢谢
我猜你很久以前就放弃了这个问题,但你的问题是你的“行”元素没有属性“字段”。 但是,您的“字段”元素确实具有“名称”属性。
尝试这个:
doc.elements.each("//row/field") do {|e| puts e.attributes["name"] + ': ' + e.text}
我会为此使用nokogiri - rexml 我总是发现这是一个问题,我的印象是它已经不再使用了
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.