将XML解析为Erlang记录列表

将XML解析为Erlang记录列表,erlang,xml-parsing,Erlang,Xml Parsing,我是Erlang新手,正在尝试将XML文档解析为记录。我尝试过各种方法(xmerl\u scan/xpath),但由于我不知道从哪里开始,所以我陷入了困境 我读了三本关于这个主题的书,花了几个小时在谷歌上搜索这个主题,但我想我肯定错过了一些明显的东西 必须有一种使用某种模式匹配访问每个节点并生成匹配列表的简单方法 这是输入 <Sports> <Sport> SportId="1" SportName="Cricket"> <League LeagueId="

我是Erlang新手,正在尝试将XML文档解析为记录。我尝试过各种方法(xmerl\u scan/xpath),但由于我不知道从哪里开始,所以我陷入了困境

我读了三本关于这个主题的书,花了几个小时在谷歌上搜索这个主题,但我想我肯定错过了一些明显的东西

必须有一种使用某种模式匹配访问每个节点并生成匹配列表的简单方法

这是输入

<Sports>
<Sport> SportId="1" SportName="Cricket"> 
<League LeagueId="1" LeagueName="Test Match"> 
<Meeting MeetingId="1" MeetingName="Test Match"/> 
</League> 
<League LeagueId="2" LeagueName="One Day International"> 
<Meeting MeetingId="1" MeetingName="One Day International Match""/> 
<Meeting MeetingId="2" MeetingName="One Day International Series"/> 
</League>
<League LeagueId="3" LeagueName="T20 World Cup"> 
<Meeting MeetingId="1" MeetingName="T20 World Cup Futures"/> 
</League> 
</Sport> 
<Sport SportId="7" SportName="Golf"> 
<League LeagueId="1" LeagueName="PGA Tour"> 
<Meeting MeetingId="1" MeetingName="St Jude Classic"/> 
<Meeting MeetingId="2" MeetingName="US Open"/> 
</League> 
<League LeagueId="22" LeagueName="European Tour"> 
<Meeting MeetingId="100" MeetingName="Nordea Masters"/> 
<Meeting MeetingId="101" MeetingName="Nordea Masters Tournament HH"/> 
<Meeting MeetingId="102" MeetingName="Nordea Masters Top Aussie"/> 
<Meeting MeetingId="107" MeetingName="Nordea Masters Handicap"/> 
<Meeting MeetingId="110" MeetingName="Nordea Masters R1 3 Balls"/> 
</League> 
<League LeagueId="34" LeagueName="Ryder Cup"> 
<Meeting MeetingId="1" MeetingName="Ryder Cup 2012"/> 
</League> 
</Sport> 
</Sports> 
不一定需要一个固定的答案,但只要朝着正确的方向推动一下就会很有用,这样我就可以自己做一些进一步的研究

我使用了mochiweb_html:parse来搜索特定节点中的特定信息,但在上面的例子中,我需要从多个节点提取信息

谢谢你查过了吗

它比xmerl更容易使用。使用erlsom,您可以从XSD模式生成记录定义。记录定义映射模式中的类型(加上一些额外信息)。使用记录模式匹配非常简单。你可以找到更多信息。

你查过了吗


它比xmerl更容易使用。使用erlsom,您可以从XSD模式生成记录定义。记录定义映射模式中的类型(加上一些额外信息)。使用记录模式匹配非常简单。您可以找到更多信息。

是的,我查看了erlsom,但只是一个简短的示例,它似乎与我要查找的内容不匹配,但是您发布的doco链接正好表明我确实需要正确地研究内容!多谢,我在路上!是的,我看了erlsom,但只是一个简短的例子,它似乎与我所寻找的不匹配,但是你发布的doco链接只是为了表明我确实需要正确地研究东西!多谢,我在路上!
[{SportId,SportName,LeagueId,LeagueName,MeetingId,MeetingName}]