Erlang使用xmerl在<! - ?xml - >标记中设置编码

时间:2018-03-09 23:10:23

标签: xml erlang xmerl

我有一行代码如下:

xmerl:export_simple([XmerlRecords], xmerl_xml).

它按预期工作并生成XML的IO列表。但是,<?xml>标记如下所示:<?xml version="1.0"?>。我希望它也包括编码。像这样:<?xml version="1.0" encoding="utf-8"?>。如何使用Erlang 18.2(xmerl版本1.3.9)?我阅读了文档并提出了:

xmerl:export_simple([XmerlRecords], xmerl_xml, [{encoding, 'utf-8'}]).

然而,这产生与以前完全相同的输出。编码被忽略,不包括在内。我还尝试在第三个参数中使用prolog属性,但它也没有更改<?xml>标记。

修改

虽然我确实希望在<?xml>标记中设置编码属性,但我也希望XML文档以相同的编码进行编码。我没有看到使用xmerl:export/3xmerl:export_simple/3执行此操作的方法。

1 个答案:

答案 0 :(得分:3)

我尝试使用xmerl 1.3.9并使prolog属性起作用,如下所示:

xmerl:export_simple([XmerlRecords], xmerl_xml,
                    [{prolog, "<?xml version=\"1.0\" encoding=\"utf-8\"?>"}])

这似乎没有在任何地方记录,但xmerl_xml模块中的代码足够清楚它如何使用prolog属性。

相关问题