2017-07-28 8 views
0

属性の値を抽出する必要があります。下のxmlから値 '9'を抽出する必要があります。JRubyのXMLからの属性値の抽出

xmlDoc = <?xml version='1.0' encoding='UTF-8'?><config version='9'><roaming>false</roaming></config> 

私はこのコードを使用しただけで、全体のxmlの代わりに、値を取得しています。

XPath.match(xmlDoc, "/config[@version]") 
+1

これは、XPathクラスである9として返さ?私はあなたのコードからエラーなしで使用する宝石を見つけることができません。 –

答えて

0

あなたはそれは、単純な設定ファイルのためにやり過ぎかもしれませんがあなたはおそらく、鋸山を使用することができます

require 'active_support/core_ext/hash' 
Hash.from_xml(xmlDoc)['config']['version'] 
+0

Sajinに感謝しますが、このエラーが発生しました。 NoMethodError:未定義メソッド 'from_xml 'for Hash:クラス – Zaf

+0

@Zafおそらく、あなたは助けを求めて – Sajin

0

を使用することができます。

require 'nokogiri' 
Nokogiri::XML(xmlDoc).xpath('/config/@version').text 
+0

ありがとうございます。 nokogiriを試してみましたが、このエラーが発生しました。ArgumentError:kind_of Stringまたはto_io、:read、またはstringに応答する必要があります。 – Zaf

0

ありがとうございます、サジンとマークはこれをサポートしています。私はこれでこれを手に入れました。

XPath.first(xmlDoc, "/config/@version]").value 

答えは

関連する問題