Erlang的xml转换

前端之家收集整理的这篇文章主要介绍了Erlang的xml转换前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

概要:Erlang中xml的使用方法

由于Erlang中数据的转换可以采用从tuple直接转成xml。

格式

  • {Tag,Attributes,Content} {节点名,属性,元素}

  • Tag

  • IOString

    说明:

  • Tag = atom()

  • Attributes = [{Name,Value}]

  • Name = atom()

  • Value = IOString | atom() | integer()

例子:

[html] view plain copy
  1. -module(test).
  2. -compile(export_all).
  3. get_data()->
  4. <spanstyle="white-space:pre"></span>{fileMeta,[{id,'/Foo'},{bar,12111111113}],[{name,["11"]},{age,["1"]}]}.
  5. start()->
  6. Temp=xmerl:export_simple([get_data()],xmerl_xml),
  7. io:format("~p~n",[Temp]),
  8. Test=lists:flatten(Temp),[Test]),248); line-height:18px"> ok.

结果:

copy

    ["<?xmlversion=\"1.0\"?>",
  1. [[["<","fileMeta",108); list-style:decimal-leading-zero outside; color:inherit; line-height:18px"> [["","id","=\"","/Foo","\""],["","bar","12111111113","\""]],248); line-height:18px"> ">"],108); list-style:decimal-leading-zero outside; color:inherit; line-height:18px"> [[["</",0); background-color:inherit; font-weight:bold">>"]],248); line-height:18px"> [[">"]]],108); list-style:decimal-leading-zero outside; color:inherit; line-height:18px"> [">"]]]]
  2. ?>fileMetaid=\"/Foo\"bar=\"12111111113\">name>11age>1fileMeta>"

注意事项:

1.属性的值可以是‘11’,“11”,11,或者是["11"]。最终都会被转变为字符串。

2.元素的格式必须是{Name,[Value]},Value==IOString。


ps:

增加encoding属性,因为默认为“<?xml version=\"1.0\"?>”:

copy
    -define(xml_prolog,0); background-color:inherit; font-weight:bold">xmlversion=\"1.0\"encoding=\"UTF-8\"?>").
  1. Xml=xmerl:export_simple([data],xmerl_xml,[{prolog,?xml_prolog}]),
原文链接:https://www.f2er.com/xml/299903.html

猜你在找的XML相关文章