本文共 1034 字,大约阅读时间需要 3 分钟。
概要:Erlang中xml的使用方法。
由于Erlang中数据的转换可以采用从tuple直接转成xml。
{Tag, Attributes, Content} {节点名,属性,元素}
{Tag, Content}
Tag
IOString
说明:
Tag = atom()
Attributes = [{Name, Value}]
Name = atom()
Value = IOString | atom() | integer()
例子:
-module(test).-compile(export_all).get_data() -> {filemeta,[{id,'/Foo'},{bar,12111111113}], [{name,["11"]},{age,["1"]}]}.start() -> Temp = xmerl:export_simple([get_data()], xmerl_xml), io:format("~p~n",[Temp]), Test = lists:flatten(Temp), io:format("~p~n",[Test]), ok.
结果:
[" ", [[["<","filemeta", [[" ","id","=\"","/Foo","\""],[" ","bar","=\"","12111111113","\""]], ">"], [[["<","name",">"],["11"],[" "]], [["<","age",">"],["1"],[" "]]], [" "]]]]"" 11 1
注意事项:
1.属性的值可以是‘11’,“11”,11,或者是["11"]。最终都会被转变为字符串。
2.元素的格式必须是{Name, [Value]},Value==IOString。
ps:
增加encoding属性,因为默认为“<?xml version=\"1.0\"?>”:
-define(xml_prolog, " ").Xml = xmerl:export_simple([data], xmerl_xml,[{prolog, ?xml_prolog}]),
thomesca(北蔡):http://blog.csdn.net/thomescai (转载请保留)