私はErlangを初めて使用し、XMLドキュメントをレコードに解析しようとしています。さまざまな方法(xmerl_scan / xpath)を試しましたが、どこから始めればよいかわからないため、隅に塗りつぶされてしまいます。
私はこの主題について3冊の本を読み、数時間かけて主題をグーグルで調べましたが、明らかな何かが欠けているに違いないと思います。
ある種のパターンマッチングを使用して各ノードにアクセスし、一致のリストを生成する簡単な方法が必要です。
これは入力です...
<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>
これが目的の出力です...
[{SportId,SportName,LeagueId,LeagueName,MeetingId,MeetingName}]
必ずしも定型の回答は必要ありませんが、正しい方向に押すだけで便利なので、自分でさらに調査することができます。
mochiweb_html:parseを使用して特定のノードの特定の情報を検索しましたが、上記の例では、複数のノードから情報を抽出する必要があります。
ありがとう