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中的回车处理不是很好
换行还可以:
abc
生成为:
{{xmlElement,a,a,[], {xmlNamespace,[],[]}, [],1,[], [{xmlText,[{a,1}],1,[],"abc\n",text}], [],".",undeclared},
而
abc
生成为:
{{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中文支持没问题