我有一行代码如下:
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/3
或xmerl:export_simple/3
执行此操作的方法。
答案 0 :(得分:3)
我尝试使用xmerl 1.3.9并使prolog
属性起作用,如下所示:
xmerl:export_simple([XmerlRecords], xmerl_xml,
[{prolog, "<?xml version=\"1.0\" encoding=\"utf-8\"?>"}])
这似乎没有在任何地方记录,但xmerl_xml
模块中的代码足够清楚它如何使用prolog
属性。