文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院程序开发数据结构用Ruby+Builder创建XML应用
精品推荐
特别推荐
·网游外挂编写完全攻略
·开发WDM型的USB设备驱动程序
·数据库设计范式深入浅出
·理解软件保护技术之序列号方式
·大型网站必鉴:分销渠道的结构
·你的代码真的很健壮吗
·利用HOOK拦截封包原理
·四种网络游戏外挂的设计方法
·程序语言效率比较
·五子棋算法
热点TOP10
·剖析备份个人数据十大注意事项
·BPEL的基本活动介绍
·BPEL模型基础
·VS2005视频教程之站点地图[视频]
·DB2数据库部分日常实用操作
·数据结构教程 第十五课 串的表示和实现
·MD5算法解释
·逆向思维 《魔兽世界》封包分析
·IE工具条插件Toolbar开发简介
·网游外挂编写完全攻略

用Ruby+Builder创建XML应用

日期:2008年5月9日 作者: 查看:[大字体 中字体 小字体]



  下面的irb示例向你展示了如何把元素内容放在元素内。其中,date元素包含3个子元素:year,month和day;并且子元素被创建于大括号中。

>> x.date {
?> x.year "2006"
>> x.month "01"
>> x.day "01"
>> }
<date>
<year>2006>year>
<month>01>month>
<day>01>day>
<date>
=> #>IO:0x279e7e8>
>>
  这些irb示例实际隐藏了用Ruby编写原始的XML的明显特征。下面的示例向你展示更为复杂些的Builder应用。 四、 编写一个哈希作为XML标注

  通过使用Builder,程序favs.rb将创建一个称为favorites的哈希(hash),然后把它作为XML写出:

#!/usr/bin/ruby
require 'builder'
favorites = {
'candy' => 'Neccos', 'novel' => 'Empire of the Sun', 'holiday' => 'Easter'
}
xml = Builder::XmlMarkup.new( :target => $stdout, :indent => 2 )
xml.instruct! :xml, :version => "1.1", :encoding => "US-ASCII"
xml.favorites do
favorites.each do name, choice
xml.favorite( choice, :item => name )
end
end
  使用Ruby运行favs.rb,其输出将是:

<?xml version="1.1" encoding="US-ASCII"?>
<favorites>
<favorite item="candy">Neccos<favorite>
<favorite item="holiday">Easter<favorite>
<favorite item="novel">Empire of the Sun<favorite>
<favorites>
  最上面一行代码找到Ruby解释器(#!/usr/bin/ruby)的位置。然后,装载Builder库。接着,通过三个名字/值对定义favorites哈希。在此,Builder对象xml被实例化。instruct!方法通过使用一个显式的目标和假属性创建一个XML文档声明(尽管文档可以被作为XML 1.0传递,但是,我在该方法中把版本改为1.1仅为说明实现原理)。

  在此,在favorites上调用了一个块(block)(注意,你可以用括号方式来代替上面的"do……end"语句)。对于哈希中的每一对值,都是通过把该哈希名作为一个属性并且把哈希值作为元素内容来创建的。你可能猜出,用这种方式使用Builder可以非常方便地帮助把大量的名字/值对导出到XML中。

  五、 创建有效的XHTML文档

  最后,我将再讨论一下使用Builder编写有效的XHTML文档的其它的方法和技术。下面是创建这种文档的一个程序(xhtml.rb):

#!/usr/bin/ruby
require 'builder'
x = Builder::XmlMarkup.new(:target => $stdout, :indent => 1)
x.instruct!
x.declare! :DOCTYPE, :html, :PUBLIC, "-//W3C//DTD XHTML 1.0 Strict//EN", "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
x.html( "xmlns" => "http://www.w3.org/1999/xhtml" ) {
x.head {
x.title "XHTML 1.0 example"
x.style( "type"=>text/css" ) { x.text! "h1 {font-family:tahoma,sans-serif;font-size:18pt;color:blue} body{font-family:georgia,serif}"
}
}
x.body {
x.h1 "Hello from Builder"
x.p "A Ruby library that facilitates the programatic generation of XML."
x.p { y y <<"Methods of interest from <code<Builder::XmlMarkup</code> }
x.ul {
x.li "cdata!"
x.li "comment!"
x.li "declare!"
x.li "instruct!"
x.li "new"
}
x.p{ y y << "Methods of interest from "; x.code "Builder::XmlBase"; y << ":" }
x.ul {
x.li "<<"
x.li "new"
x.li "text!"
}
}
}

  通过使用符号和字符串,Declare!方法产生一个相应于XHTML 1.0文档类型定义的文档类型声明。style元素用于指定一个类型属性,然后使用text!方法创建了一些CSS。这里选择了把内容放在第一个参数中,见下面代码片断:

上一页 [1] [2] [3] 下一页 




上一篇:如何发挥网络广告的威力?

下一篇:数据结构教程 第二十八课 图的存储结构

相关文章:
·从零开始 无线网络终极应用宝典
·注册表应用100例—注册表使用全攻略之十一
·WindowsXP应用技巧的具体总结
·每周电脑应用技巧荟萃
·几何图形英文字体创意设计及应用作品欣赏
·英文字体创意设计及应用作品欣赏
·Windows IE 7.0应用技巧心得
·Google关键词广告创建的十二高招
·Photoshop通道的概念及应用(1):抠婚纱
·Velocity 的应用示例
相关软件:
·powerbuilder10.0中文版
·注册表实例应用视频教程swf
·Excel应用宝典
·AUTOCAD 2002机械设计应用与实例
·中文版 AutoCAD2004 应用实例与技巧
·ERP管理模式及应用教学 视频 详见查看
·计算机绘图应用教程——CAXA电子图板XP
·vb编程与应用视频(1-5)
·软景HTML制造机(Softscape HTML Builder)V2.0
·万用表应用技巧

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.vipcn.net
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.vipcn.net All Rights Reserved. 鄂ICP备05000083号Powered by:viphot