gpt4 book ai didi

xml - 使用 xmerl 解析 xml

转载 作者:数据小太阳 更新时间:2023-10-29 02:01:31 27 4
gpt4 key购买 nike

我正在尝试解析这样的 xml 结构

<result>
<event>
<title>My event</name>
<artist>
<name>Michael Jackson</name>
</artist>
</event>
<event>
<title>My event 2</name>
<artist>
<name>Rolling Stones</name>
</artist>
</event>
<result>

所以我想遍历事件,并最终得到一个具有相应结果的 Elixir map 。它需要与名称无关,因为事件中的字段不同。

想要的结果

[{title: “My event”, artist: [{name: “Michael Jackson”}]}, {title: “My even 2t”, artist: [{name: “Rolling stones"}]}]

这就是我到目前为止所得到的

defmodule Test do

require Record
require IEx
Record.defrecord :xmlElement, Record.extract(:xmlElement, from_lib: "xmerl/include/xmerl.hrl")
Record.defrecord :xmlText, Record.extract(:xmlText, from_lib: "xmerl/include/xmerl.hrl")

def run do
{root, _} = :xmerl_scan.file("test.xml")

event_elements = :xmerl_xpath.string('//event', root)

# Traverse each event.
fields = Enum.map event_elements, fn(event) ->

# Traverse each field.
Enum.map event, fn(field) ->
[xmlElement(field, :name), xmlText(field, :value)]
end
end
end
end

Test.run

我是 Elixir 的新手,我找不到任何适合 xmerl 的指南。我希望有人能帮助我,请解释一下代码:-)。

最佳答案

我对xmerl不是很熟悉,但下面是我根据你的例子进行的尝试(它并不完整和粗略,但希望对一些人有所帮助)。

以下是我在试验时遇到的不错的资源。

关于xml - 使用 xmerl 解析 xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29038769/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com