我有一个xml格式的字符串,我希望使用LIBXML将其转换为哈希。 我怎么能在perl中这样做?
答案 0 :(得分:3)
Searching XML::LibXML
发布,似乎对此类功能的支持仅限于通过XML::LibXML::AttributeHash
的属性。
还必须记住,
XML::LibXML
是libxml2的接口 实际驻留在XML::LibXML
的C级的节点。这意味着 每个节点都是对不同于perl哈希的结构的引用 阵列。访问这些结构值的唯一方法是通过 由XML::LibXML
提供的DOM接口。这也意味着那一个 不能简单地继承XML::LibXML
节点并添加新的成员变量,因为它们是散列键。
答案 1 :(得分:1)
XML::LibXML有一个非常好的DOM接口,但是如果你想“转换为哈希”,你需要自己做一些DOM遍历,将数据变成你想要的格式的哈希值,或者使用类似XML::Simple而不是libxml的东西。 XML :: Simple对于可靠的互操作来说有点可怕,但有时它是最简单的事情。