2

(「適切にフォーマットされていない」)XMLを文字列として保存しています。

xml_data_as_string = "<first_name>John</first_name><last_name>Smith</last_name>"

私はそれをハッシュに変換しようとしているので、次のように参照できます:

@hash[:first_name] # => John

私はこれを行うことによってこれを達成することができます:

Hash.from_xml("<root>#{xml_data_as_string}</root>")

from_xmlメソッドでは、XMLのルート要素が必要なようです。したがって、現在、ハッシュを次のように参照する必要があります。

@hash[:root][:first_name] # => John

これは少し不便で、これを達成する簡単な方法があるかどうか疑問に思いました。from_xmlのAPIを確認しましたが、非常にまばらです...1つの例を示していますが、これ以上の説明はありません。

このようにするのは世界の終わりではありませんが、よりクリーンなソリューションが必要です。

4

1 に答える 1

2

@hash = Hash.from_xml("<root>#{xml_data_as_string}</root>")[:root]

XMLデータを解析するには、適切にフォーマットする必要がありますが、この方法では、呼び出す必要があるのは[:root]1回だけです。データが良好であることを確認してください。そうでない場合、の要求でエラーが発生します[:root]

于 2012-07-31T18:15:21.577 に答える