`

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官方不直接提供针对龙芯处理器的二进制包,这意味着这个预编译版本是由开发者或社区成员使用Erlang 24的源代码,在龙芯3A5000处理器上进行编译的,以适应该架构的硬件特性。 描述中提到,“解压缩以后将...

    erlang-23.2.3-1.el7.x86_64.rpm和erlang-23.2.1-1.el7.x86_64.rpm.rar

    描述中提到的"rabbitmq-server-3.8.17-1.el8.noarch.rpm"是RabbitMQ服务器的一个版本,RabbitMQ是一个基于AMQP(Advanced Message Queuing Protocol)的消息代理,它使用Erlang语言编写。RabbitMQ允许应用程序通过...

    exomler:用于Erlang的快速XML解析器

    Xmerl是Erlang标准库的一部分,功能全面但相对较为庞大,对于简单或轻量级的XML处理任务,Exomler可能是更优的选择。 使用Exomler,开发者可以通过简单的API来解析XML文档,提取所需的信息。例如,它可以轻松地将...

    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

    如此WAP!-开源

    开源WAP项目使得开发者能够自由地查看、使用、修改和分享代码,极大地促进了技术的进步和社区的繁荣。本项目包含了WAP网关、简单的WAP客户端以及相关工具,提供了一整套实现WAP功能的基础架构。 WAP网关是WAP系统的...

Global site tag (gtag.js) - Google Analytics