[英]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.