2

I have a string in xml format and I wish to convert it to a hash using LIBXML. How can I do so in perl?

4

2 に答える 2

3

ディストリビューションを検索するXML::LibXMLと、そのような機能のサポートは を介し​​た属性のみに限定されているようですXML::LibXML::AttributeHash

引用するにはXML::LibXML::DOM

また、覚えておく必要があります。XML::LibXMLこれは、実際には の C レベルに存在する libxml2 ノードへのインターフェイスですXML::LibXML。これは、各ノードが perl ハッシュまたは配列とは異なる構造への参照であることを意味します。これらの構造体の値にアクセスする唯一の方法は、 によって提供される DOM インターフェイスを介することXML::LibXMLです。これはまた、 単純にノードを継承して新しいメンバー変数を追加することはできません。それらはハッシュ キーであるためです。XML::LibXML

ただし、XML 文字列をハッシュ化できるモジュールは他にもたくさんあります。

于 2012-08-29T16:22:03.163 に答える
1

XML::LibXMLには完全に優れた DOM インターフェースがありますが、「ハッシュに変換」したい場合は、自分で DOM トラバーサルを行ってデータを必要な形式のハッシュに滑らかにするか、次のようなものを使用する必要があります。libxml の代わりにXML::Simple 。XML::Simple は信頼性の高い相互運用性にとっては恐ろしいものですが、時には最も簡単なこともあります。

于 2012-08-29T16:19:31.757 に答える