2

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

4

2 回答 2

3

搜索XML::LibXML分布,似乎对此类功能的支持仅限于属性,仅通过XML::LibXML::AttributeHash.

引用XML::LibXML::DOM

还必须记住,这XML::LibXML是一个与 libxml2 节点的接口,它实际上位于XML::LibXML. 这意味着每个节点都是对不同于 perl 哈希或数组的结构的引用。访问这些结构值的唯一方法是通过XML::LibXML. 这也意味着, 不能简单地继承一个XML::LibXML节点并添加新的成员变量,因为它们是哈希键。

但是,还有大量其他 模块可以散列 XML 字符串:

于 2012-08-29T16:22:03.163 回答
1

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

于 2012-08-29T16:19:31.757 回答