使用Haskell和HXT同时处理两个XML文件

时间:2013-01-04 21:45:19

标签: xml haskell hxt

我需要将两个XML文件解析为一个记录。第一个文档包含大部分记录的数据,但是有一个字段包含从第二个XML文件中获取数据的标识符,有点像

文件1:

<nodes>
    <node>
        <key1>value1</key1>
        <!-- etc -->
        <keyN>valueN</keyN>
        <reference>1</reference
    </node>
</nodes>

文件2:

<refs>
    <ref id="1">refValue1</ref>
    <ref id="2">refValue2</ref>
</refs>

我想要做的是在解析第一个文档时,从关键元素中检索值,就是当我提取<reference>的值时,我立即从中获取<ref id="1">的内容。第二档。

因为我对Arrows很新,所以对我来说这对我来说是一个很大的挑战。我能够很好地解析第一个XML文件,但我不知道如何传递第二个文档以便按需使用。

1 个答案:

答案 0 :(得分:1)

根据phg的建议,我尝试先将第二个XML文件解析为Map,然后将其传递给第一个XML文件的解析器。一点点摆弄和调整,我让它工作。