2016-08-04 18 views
-1

私はRuby 1.9.3とレール3.1を使用しています。私の要件は、以下のようなパーサファイルがあるということです。私がブラウザで開いたとき。タグは順番に並んでいません。 <item>の後。データはクラブ形式です。私は崇高なテキストで開いCant xxファイルをsaxを使って読むNokogiriを使ったParser

<?xml version="1.0" encoding="utf-8"?>

の存在があります。 ]]>が存在する</item>た後、それはまた<item>

<![CDATA[<?xml version="1.0" encoding="utf-8"?> 

後に表示されます。解析する必要のあるデータは、<item></item>の内部にあります。 parse_fileと呼ばれる方法はノコギリ形式でstart_element, end_elementと呼ばれています。上記のステートメントを削除して手動でファイルを編集しようとしたとき。 charactersメソッドを呼び出してデータを取得します。以下はサンプルコードです。それ以外の方法はありますか?

<batch transactionType="HC"><item><?xml version="1.0" encoding="utf-8"?><C><CI><Ve>00501</Ve></CI></C></item></batch> 
+0

コードをテストするために使用されたデータを伝達するためにイメージを使用しないでください。それを再利用することはできませんので、問題を示すために必要な最小限のデータをコピー&ペーストして入力する必要があります。また、そのリンクが壊れてあなたの質問が壊れても意味をなさないでしょう。 「[mcve]」をお読みください。 "このための自動化されたソリューションを提供してください。"私たちは、問題を解決するためのあなたの努力を見たいと思います。 SOは「私にコードを渡す」サイトではなく、あなたが書いたコードを修正するのに役立ちます。 "[どのくらいの研究努力がスタックオーバーフローのユーザーに期待されていますか?](http://meta.stackoverflow.com/q/261592/128421)"便利です。 –

+0

私の言葉は少しお粗末ですが残念です。私は質問を編集します。しかし、私はこの問題を解決するためのすべての方法を試してきました。理由は、この画像をブラウザに表示する方法を示すためです。私はこれを示す他の方法はないと信じています。とにかくこれを修正するにはどうすればいいですか? –

+0

問題を解決するための努力を見なければなりません。 –

答えて

0

「xml-simple」という名前の他のモジュールで簡単に実行できます。あなたのxmlファイル名と仮定すると

まず宝石をインストールする "のtest.xml" である: -

gem install xml-simple 

そして、あなたはコード内で次のように試すことができます: -

require "XmlSimple" 

abc = XmlSimple.xml_in File.read("test.xml") 

puts abc['item'] 

出力: -

{"C"=>[{"CI"=>[{"Ve"=>["00501"]}]}]} 
+0

'require ':そのようなファイルを読み込めません - XmlSimple(LoadError) –

+0

ああ、インストールしてください。 逸品 –

+0

XML-簡単なインストール: - のlinux/MACを - どの宝石 窓 - 宝石 –

関連する問題