`

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中文支持没问题

 

分享到:
评论

相关推荐

    erlang-xmerl-22.2-1.el7.x86_64.rpm

    erlang-xmerl-22.2-1.el7.x86_64.rpm,rabbitMQ安装需要依赖此环境。Erlang 是一种多用途编程语言,主要用于开发并发和分布式系统。它最初是一种专有的编程语言,Ericsson 使用它来开发电话和通信应用程序。

    erlang-xmerl-23.0.2-2.el7.x86_64.rpm

    erlang-xmerl-23.0.2-2.el7.x86_64.rpm,rabbitMQ安装需要依赖此环境。Erlang 是一种多用途编程语言,主要用于开发并发和分布式系统。它最初是一种专有的编程语言,Ericsson 使用它来开发电话和通信应用程序。

    erlang-xmerl-22.2.1-1.el7.x86_64.rpm

    erlang-xmerl-22.2.1-1.el7.x86_64.rpm 免费下载0积分镜像下载。rabbitMQ安装需要依赖此环境。Erlang 是一种多用途编程语言,主要用于开发并发和分布式系统。它最初是一种专有的编程语言,Ericsson 使用它来开发电话和...

    erlang-xmerl-22.2.2-1.el7.x86_64.rpm

    erlang-xmerl-22.2.2-1.el7.x86_64.rpm 免费下载0积分镜像下载。rabbitMQ安装需要依赖此环境。Erlang 是一种多用途编程语言,主要用于开发并发和分布式系统。它最初是一种专有的编程语言,Ericsson 使用它来开发电话和...

    erlang-xmerl-22.3-1.el7.x86_64.rpm 镜像下载

    erlang-xmerl-22.3-1.el7.x86_64.rpm,rabbitMQ安装需要依赖此环境。Erlang 是一种多用途编程语言,主要用于开发并发和分布式系统。它最初是一种专有的编程语言,Ericsson 使用它来开发电话和通信应用程序。

    erlang-xmerl-23.0.3-1.el7.x86_64.rpm 镜像下载

    erlang-xmerl-23.0.3-1.el7.x86_64.rpm,rabbitMQ安装需要依赖此环境。Erlang 是一种多用途编程语言,主要用于开发并发和分布式系统。它最初是一种专有的编程语言,Ericsson 使用它来开发电话和通信应用程序。

    erlang-xmerl-22.2.6-1.el7.x86_64.rpm

    erlang-xmerl-22.2.6-1.el7.x86_64.rpm 免费下载0积分镜像下载。rabbitMQ安装需要依赖此环境。Erlang 是一种多用途编程语言,主要用于开发并发和分布式系统。它最初是一种专有的编程语言,Ericsson 使用它来开发电话和...

    erlang-xmerl-22.2.3-1.el7.x86_64.rpm

    erlang-xmerl-22.2.3-1.el7.x86_64.rpm 免费下载0积分镜像下载。rabbitMQ安装需要依赖此环境。Erlang 是一种多用途编程语言,主要用于开发并发和分布式系统。它最初是一种专有的编程语言,Ericsson 使用它来开发电话和...

    erlang-xmerl-22.2.8-1.el7.x86_64.rpm

    erlang-xmerl-22.2.8-1.el7.x86_64.rpm 免费下载0积分镜像下载。rabbitMQ安装需要依赖此环境。Erlang 是一种多用途编程语言,主要用于开发并发和分布式系统。它最初是一种专有的编程语言,Ericsson 使用它来开发电话和...

    erlang-xmerl-22.2.4-1.el7.x86_64.rpm

    erlang-xmerl-22.2.4-1.el7.x86_64.rpm 免费下载0积分镜像下载。rabbitMQ安装需要依赖此环境。Erlang 是一种多用途编程语言,主要用于开发并发和分布式系统。它最初是一种专有的编程语言,Ericsson 使用它来开发电话和...

    erlang-xmerl-22.2.5-1.el7.x86_64.rpm

    erlang-xmerl-22.2.5-1.el7.x86_64.rpm 免费下载0积分镜像下载。rabbitMQ安装需要依赖此环境。Erlang 是一种多用途编程语言,主要用于开发并发和分布式系统。它最初是一种专有的编程语言,Ericsson 使用它来开发电话和...

    erlang 24.0 龙芯 loongarch64 预编译版本

    erlang官方没有龙芯版本的安装包,这个是用24版本的源码在龙芯3a5000下编译的版本,解压缩以后将bin路径加入PATH环境变量即可使用。

    yaws:Yaws Web服务器

    如果您已经从github克隆了源代码,并且想使用自动工具进行构建,请注意源代码中没有./configure脚本,因此请创建一个: $&gt; autoreconf -fi 安装构建依赖项。 编译Yaws所需的软件包是(基于debian软件包): 必要...

    a11y-checker:Web可访问性评估库

    检查器 用编写的Web无障碍评估库。...Erlang / OTP和xmerl_scan解析器。 适当的基于属性的测试() 安装 a11y-checker带有EMakefile,可用于通过键入以下内容来编译和加载组成库的模块 erl -pa ebin 打开一个Erlang

Global site tag (gtag.js) - Google Analytics