xmerl的使用

1、感觉比较复杂

使用的都是#xmlElement{}等结构表示,不太直观。

看了erlsom的DOM例子之后感觉很清爽:

http://www.cnblogs.com/me-sa/archive/2012/07/20/erlang_xml.html

 

9> erlsom:simple_form(Xml).
{ok,{"shopping",[],
     [{"item",
       [{"price","2.50"},{"quantity","3"},{"name","bread"}],
       []},
      {"item",
       [{"price","3.50"},{"quantity","2"},{"name","milk"}],
       []}]},
    " "}
10>

 

 可能是xml的复杂性决定的吧,xmerl比较强大,包装一下应该也能很直观吧

 

2、xpath的使用

文档较少,xmerl_xpath中没说明xPathString()能支持哪些格式。以为只能支持少数格式。。。

后来在langzhe这里看到:

http://langzhe.iteye.com/blog/793535

xmerl_xpath:string("//myelement[. = 'x']/text()",
ParsedDocumentRootElement).  

 仔细看了xmerl_xpath的文档,发现:

 写道
The xmerl_xpath module handles the entire XPath 1.0 spec.

 可以参考:http://www.w3.org/TR/xpath/

 

3、xml中的回车处理不是很好

换行还可以:

<?xml version="1.0" encoding="UTF-8"?>
<a>abc
</a>

 生成为:

{{xmlElement,a,a,[],
             {xmlNamespace,[],[]},
             [],1,[],
             [{xmlText,[{a,1}],1,[],"abc\n",text}],
             [],".",undeclared},

 

<?xml version="1.0" encoding="UTF-8"?>
<a>abc&#x0D;
</a>
 

 

生成为:

{{xmlElement,a,a,[],
             {xmlNamespace,[],[]},
             [],1,[],
             [{xmlText,[{a,1}],1,[],"abc",text},
              {xmlText,[{a,1}],2,[],"\n\n",text}],
             [],".",undeclared},
 []}

 个人感觉应该生成为"abc\r\n"...

 

4、UTF-8中文支持没问题

 

你可能感兴趣的:(使用)