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}]),

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念
xml文件介绍及使用
xml编程(一)-xml语法
XML文件结构和基本语法
第2章 包装类
XML入门的常见问题(二)
Java对象的强、软、弱和虚引用
JS解析XML文件和XML字符串详解
java中枚举的详细使用介绍
了解Xml格式
XML入门的常见问题(四)
深入SQLite多线程的使用总结详解
PlayFramework完整实现一个APP(一)
XML和YAML的使用方法
XML轻松学习总节篇