[英]How to convert xml to a map in Elixir?
Rails 使用 from_xml 扩展 Hash
xml = <<-XML
<?xml version="1.0" encoding="UTF-8"?>
<hash>
<foo type="integer">1</foo>
<bar type="integer">2</bar>
</hash>
XML
hash = Hash.from_xml(xml)
# => {"hash"=>{"foo"=>1, "bar"=>2}}
我正在努力寻找任何关于如何以相对简单的方式在 Elixir 中执行此操作的示例。
就像是:
Map.from_xml(xml)
# => %{"hash" => %{"foo" => 1, "bar" => 2}}
我查看了 sweet_xml,它有一些很好的符号可以提取特定的数据模式。 我的问题是,它需要我进行非常详细的设置才能指定我需要获取的所有路径。
我还查看了 Quinn,它将 xml 解析为其他一些可以搜索的数据结构。 与地图相比,我发现使用中间数据结构有点奇怪。
另一个问题是这两个库都使用了 xmerl,看起来它从正在解析的 xml 中创建了新的原子。
我决定将自己的痒作为练习,看看我是否可以创建我的第一个十六进制包: https ://github.com/homanchou/elixir-xml-to-map
它在幕后使用 erlsom erlang 库,它说它使用字符串键,我认为这更安全,因为原子不会被垃圾收集。
鉴于对这个问题的回答,甚至考虑使用这种幼稚的方法显然是极其禁忌的,因此请谨慎使用。 自述文件详细说明了缺点。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.