我有一个erlang字符串,可能包含像&这样的字符. “<等等:
1> Unenc = "string & \"stuff\" <". ok
是否有一个Erlang函数可以解析字符串并编码所有需要的HTML / XML实体,例如:
2> Enc = xmlencode(Unenc). "string & "stuff" <".
?
我的用例是针对相对较短的字符串,来自用户输入. xmlencode函数的输出字符串将是XML属性的内容:
<company name="Acme & C." currency="€" />
最终的XML将通过网络发送.
Erlang发行版中有一个函数可以转义尖括号和符号,但是没有记录,因此最好不要依赖它:
1> xmerl_lib:export_text("string & \"stuff\" <"). "string & \"stuff\" <"
如果您想构建/编码XML结构(而不是仅编码单个字符串),那么xmerl API将是一个不错的选择,例如
2> xmerl:export_simple([{foo,[],["string & \"stuff\" <"]}],xmerl_xml). ["<?xml version=\"1.0\"?>",[[["<","foo",">"],["string & \"stuff\" <"],["</",">"]]]]