摘要:的提供了一个简单的方法创建标记和数据结构。类生成标记,生成事件。用法或打印特性支持注释也支持处理指令部分支持声明可以嵌套声明命名空间默认情况下特殊字符会自动转义如果不想转义,请使用符号代替字符串。
Jim Weirich的Builder提供了一个简单的方法创建XML标记和数据结构。
类Builder::XmlMarkup::生成XML标记,Builder::XmlEvents::生成XML事件。
用法</>复制代码
require "rubygems"
require_gem "builder", "~> 2.0"
builder = Builder::XmlMarkup.new
xml = builder.person { |b| b.name("Jim"); b.phone("555-1234") }
xml #=> Jim 555-1234
或
</>复制代码
require "rubygems"
require_gem "builder"
builder = Builder::XmlMarkup.new(:target=>STDOUT, :indent=>2)
builder.person { |b| b.name("Jim"); b.phone("555-1234") }
#
# 打印:
#
# Jim
# 555-1234
#
特性
支持XML注释
</>复制代码
xml_markup.comment! "This is a comment"
#=>
也支持XML处理指令
</>复制代码
xml_markup.instruct! :xml, :version=>"1.0", :encoding=>"UTF-8"
#=>
部分支持XML entity声明
</>复制代码
xml_markup.declare! :DOCTYPE, :chapter, :SYSTEM, "../dtds/chapter.dtd"
#=>
可以嵌套声明
</>复制代码
@xml_markup.declare! :DOCTYPE, :chapter do |x|
x.declare! :ELEMENT, :chapter, :"(title,para+)"
x.declare! :ELEMENT, :title, :"(#PCDATA)"
x.declare! :ELEMENT, :para, :"(#PCDATA)"
end
#=>
]>
XML命名空间
</>复制代码
xml.SOAP :Envelope do ... end
默认情况下特殊字符会自动转义:
</>复制代码
xml = Builder::XmlMarkup.new
xml.sample(:escaped=>"This&That", :unescaped=>:"Here&There")
xml.target! =>
如果不想转义,请使用符号代替字符串。
支持UTF-8
</>复制代码
$KCODE = "UTF8"
xml = Builder::Markup.new
xml.instruct!(:xml, :encoding => "UTF-8")
xml.sample("Iñtërnâtiônàl")
xml.target! =>
"Iñtërnâtiônàl "
GitHub页面
编译 SegmentFault
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/110333.html
摘要:本篇讲在中的解析,最后会简单地讲在解析时的做法。解析器通过解析校验的文件,可以知道哪些元素没有文本节点的子元素,因此可以帮我们剔除空白字符。类将类进一步封装,用表示。当构造对象时,会自动解析出元素的元素名元素的属性等。 许多的Java框架都支持用户自己配置,其中很常见的就是使用XML文件进行配置。本篇讲XML在Java中的解析,最后会简单地讲Mybatis在解析XML时的做法。 XML...
摘要:本篇讲在中的解析,最后会简单地讲在解析时的做法。解析器通过解析校验的文件,可以知道哪些元素没有文本节点的子元素,因此可以帮我们剔除空白字符。类将类进一步封装,用表示。当构造对象时,会自动解析出元素的元素名元素的属性等。 许多的Java框架都支持用户自己配置,其中很常见的就是使用XML文件进行配置。本篇讲XML在Java中的解析,最后会简单地讲Mybatis在解析XML时的做法。 XML...
摘要:是一个典型的模式架构,用户通过终端将字符流传递给。仿照的工作原理,我们在协议之上设计了,见下图真实实现中,是应用层的通讯协议。僵尸进程问题我们知道由于缺少而导致僵尸进程无法回收的问题迄今存在。进入构建环境执行命令。 Coding WebIDE 做个国内首个基于 Docker 技术的云端开发平台于4月1日正式上线。本文主要和大家分享和探讨 Docker 在 Web IDE 中运用的一些经...
摘要:解析获取解析器获取文档获取根节点获取根节点下所有的子节点,也可以根据标签名称获取指定的直接点获取元素的名称和里面的文本创建创建节点创建属性设置文本设置关系关于解析先讲到这里了,请继续关注乐字节,后续超级干货奉上,快快乐乐学。 大家好,乐字节的小乐又来了,Java技术分享哪里少的了小乐!上次我们说了可扩展标记语言XML之二:XML语言格式规范、文档组成,本文将介绍重点——XML解析。sh...
摘要:开源软件的汇总开源插件是一个类似于的插件,它可以帮助你在不退出的环境下浏览本地文件系统。事件模型支持基于的事件提交。开源容器是一个非侵入式的对象反转控制容器容器。开源插件提供一个可针对文件语法进行着色的编辑器。 Java开源软件的汇总:EcSplorer 【Java开源 Eclipse插件】EcSplorer(Eclips...
阅读 3422·2021-11-18 10:02
阅读 2837·2019-08-30 13:56
阅读 507·2019-08-29 12:36
阅读 584·2019-08-28 18:07
阅读 796·2019-08-27 10:51
阅读 3539·2019-08-26 12:13
阅读 3410·2019-08-26 11:46
阅读 3396·2019-08-23 12:00