在Haskell中将XML输入复制到逐字输出

时间:2015-05-29 11:18:59

标签: xml haskell copy equality

按照标题。该应用程序是用户编写的配置文件,可能不时需要在某些部分进行更新,否则应保持不变。一个起点就是能够将输入传递给输出不变。

我接受输入<tag></tag><tag/>非常相同,可能不会在输出上进行区分,但除此之外,我希望尽可能保留XML。

第一次尝试是 Text.XML.HaXml.SAX.saxParse ,但这会在评论后抑制空格,例如:

<!-- next section: -->
<section>
    ...
</section>

被解析为:

<!-- next section: --><section>
    ...
</section>

这是一个不可接受的变化。下一次尝试是通过http://pastebin.com/qNyVuBK7处的HXT进行的,除了属性数据中的实体是有效的之外,这种方法很有效。如,

<view UID="&Label;" ifNotNull="&Term;">

变为

<view UID="&amp;Label;" ifNotNull="&amp;Term;">

即使正常文本数据中的实体正确传递。任何人都可以建议如何解决最后一个问题,或者另一种方法来实现目标吗?

似乎https://hackage.haskell.org/package/roundtrip-xml-0.2.0.0可能会有所帮助,但我找不到任何有关如何使用它的文档。

0 个答案:

没有答案