使用perl中的libXML将字符串转换为哈希

时间:2012-08-29 16:08:43

标签: xml perl

我有一个xml格式的字符串,我希望使用LIBXML将其转换为哈希。 我怎么能在perl中这样做?

2 个答案:

答案 0 :(得分:3)

Searching XML::LibXML发布,似乎对此类功能的支持仅限于通过XML::LibXML::AttributeHash的属性。

引用XML::LibXML::DOM

  

还必须记住,XML::LibXML是libxml2的接口   实际驻留在XML::LibXML的C级的节点。这意味着   每个节点都是对不同于perl哈希的结构的引用   阵列。访问这些结构值的唯一方法是通过   由XML::LibXML提供的DOM接口。这也意味着那一个   不能简单地继承XML::LibXML节点并添加新的成员变量,因为它们是散列键。

然而,有大量other modules可以对XML字符串进行散列化:

答案 1 :(得分:1)

XML::LibXML有一个非常好的DOM接口,但是如果你想“转换为哈希”,你需要自己做一些DOM遍历,将数据变成你想要的格式的哈希值,或者使用类似XML::Simple而不是libxml的东西。 XML :: Simple对于可靠的互操作来说有点可怕,但有时它是最简单的事情。

相关问题