2011-06-28 5 views
1

こんにちは、私はmysqlコマンドラインツールからエクスポートしたXMLファイルからデータを解析しようとしています。タグRuby REXML confusion

XMLファイル内にあるものである私が欲しいデータを抽出するhttp://www.germane-software.com/software/rexml/docs/tutorial.html:私はここにあるチュートリアルを、以下のい

doc = Document.new(File.new("month.xml")) 
doc.elements.each("//row") {|e| puts e.attributes["field"]} 
を:

<resultset statement='select count(id) as &apos;Builds/Month&apos; , 
CONCAT(MONT HNAME(submittime), &apos;-&apos;, 
YEAR(submittime)) as &apos;Month-Year&apos;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> 

そして、ここに私がやっているものです

しかし、私がこれを行うときには、すべてのインスタンスのためにゼロです。

すべての助けが素晴らしいでしょう。 おかげ

答えて

-1
私はこのために nokogiriを使用することになり

- 私はいつも問題になることが判明し、私の印象では、それは私がこの質問に長い時間をあきらめたことを推測してい

+0

ああ、それは私が読んでいた本の中だったので、私はそれを選びました。私はノコギリを調べます。ありがとう。 –

1

使用の脱落ということですREXMLあなたの問題は、あなたの '行'要素に属性 'フィールド'がないということでした。ただし、 'field'要素には 'name'属性があります。

これを試してみてください:私が見る

doc.elements.each("//row/field") do {|e| puts e.attributes["name"] + ' : ' + e.text}