注册通行证 用户名 密码
  • 文章投稿
  • 博客
  • 论坛
  • 设为首页
  • 加入收藏
jztop.com网络技术
  • 首页
  • | iT新闻
  • | 操作系统
  • | 组网建网
  • | 网络安全
  • | 程序开发
  • | 办公一族
  • | 工具软件
  • | 网页制作
  • | 多媒体制作
  • | 网吧技术
  • | 服务器
  • | 专题教程
Vista | 软件评测 | 系统备份 | 优化 | 进程 | 聊天 | 病毒 | Linux | 黑客 | 防火墙 | 数据库 | Web开发 | Java | Word | 游戏 | 32位开发 | 移动开发 | QQ专区
当前位置:首页 > 程序开发 > 数据库 > Oracle 内容正文:用Ruby+Builder创建XML应用

用Ruby+Builder创建XML应用

发布时间:2006-05-15 15:28:12 来源:天极开发 网友评论 0 条
  一、 简介

  自从去年Ruby on Rails问世后,人们对Ruby编程语言的兴趣似乎稳定地增长起来。Rails已经帮助人们看到了什么是Ruby:一种非常体面的,易学的且使用中充满了乐趣的语言,甚至适合于工业级应用软件的开发。Ruby出现在几乎与Java差不多的年代,但是直到如今它才引起人们的关注。

  Ruby当然也引起我的注意!最近,我发现自己使用Ruby的时间多于Java了,因为它可以帮助我更快地编码-实现相同的工作,但是击键次数却更少。我简直怀疑我是否实际完全放弃了Java而转向了Ruby。读完本文时,你就会明白其中的原因。

  Builder是一个轻量级的XML构建器,它最初来源于Rails工程。现在,它是一个你可以从RubyForge下载的独立的Ruby库。

  本文将介绍如何安装Builder,然后用在Ruby中使用Builder创建XML文档,而不需要Rails。当然,我不会涉及Builder的所有特征,但是对于本文中的内容已经足够。当然,你可以参考Builder的在线文档加以详细分析。

  二、 安装Ruby和Builder

  首先,让我们转到Ruby下载页面。你可以在这个地址下载当前的稳定的发行版本。如果你使用的是Windows平台,那么安装Ruby的最容易的方法是使用一键式Ruby安装程序(版本1.8.2);如果使用其它平台,你可以使用1.8.3版本,这是一个经tar和gzip压缩的文件。(顺便说,1.8.2版本是推荐适合于Rails的,而1.8.4版本还处于预览发行阶段)。你可以通过在命令行上输入"ruby -v"来测试你的安装。如果Ruby有回应,那么你可能成功了;如果操作系统出现某些提示,那么很可能你的安装出了问题。

  迄今为止,安装Builder的最容易的方法是使用RubyGems,这是一个针对Ruby的极好的包管理程序。在此我仅作简介。首先,下载RubyGems,然后运行"Ruby setup.rb"。在安装RubyGems后,在某个外壳程序中输入下列语句:

gem install builder

  如果一切顺利,你应该看见下列响应:

Attempting local installation of 'builder'
Local gem file not found: builder*.gem
Attempting remote installation of 'builder'
Updating Gem source index for: http://gems.rubyforge.org
Successfully installed builder-1.2.4
Installing RDoc documentation for builder-1.2.4...

  在Ruby和Builder都到位后,你就可以开始工作了。

  三、 初步使用Builder

  首先,我将通过交互的Ruby或irb向你展示有关Builder的一些基本功能。在一个外壳程序中,激活irb,并关掉标准提示符(为易读起见):

  irb --simple-prompt

  现在,让我们在irb中输入下列语句(加粗的部分)来创建一些XML。

>> require 'builder'
=> ...
>> x = Builder::XmlMarkup.new(:target => $stdout, :indent => 1)
<inspect/>
=> #<IO:0x279e7e8>

  以require开头的一行装载(或试图装载)库Builder。(通常,如果发现一个库,那么这个语句将返回true)。接下来的一行通过调用XmlMarkup中的新方法创建对象x。":target => stdout"参数指示输出内容将被写向标准输出控制台,而参数":indent =>1"意味着XML输出形式将被缩进一个空格字符。

  顺便说一下,当一个名字,例如":target"以冒号开头时,这意味着,它是一个符号,或更确切地说,是一个Ruby Symbol类的对象。它代表对象的名称;而在没有冒号时它代表对象的值。

  你可以使用实例(接收者)x来调用其它方法(如instruct!):

>> x.instruct!
<?xml version="1.0" encoding="UTF-8"?>
=> #<IO:0x279e7e8>

  这将生成一个具有一些缺省假属性的XML声明。该方法名后面的感叹号概要性地指出,该方法将适当地修改接收者(receiver),如果无任何变化的话则返回nil。下面生成一个XML注释:

>> x.comment! "greetings"
<!-- greetings -->
=> #<IO:0x279e7e8>

  注意,这个方法把一个空格字符插在注释文本的前后。

  下面解释怎样创建一个元素。跟在接收者后面的名字也是元素名并且是大小写敏感的:

>> x.Hello "World!"
<Hello>World!</Hello>
=> #<IO:0x279e7e8>

  下面是一种在Hello元素上创建属性的方法:

>> x.Hello("World!", "type" => "global")
<Hello type="global">World!</Hello> #<IO:0x279e7e8>

  第一个参数是元素的内容,第二个参数使用一个"global"值生成属性类型。

  下面的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应用。
相关文章
  • 没有Rails Java程序员如何使用Ruby
  • JBuilder2005实现重构之对重构的支持
  • JBuilder2005实现重构之重命名
  • JBuilder2005实现重构之升级到JDK5.0
  • JBuilder2005实现重构之杂项重构
【评论】【收藏本文】【打印】【关闭】
上一篇文章:游戏编程入门之精灵ISprite
下一篇文章:带你见识Jetaudio有趣的附加功能
讨论区
查看
已有 0 位对此新闻感兴趣的网友发表了看法
匿名发表
注册通行证 登陆
图文阅读推荐
Atlas快速入门之实战Atlas
Atlas快速入门之实战Atlas
.net页面间的参数传递简单实例
.net页面间的参数传递简单实例
推荐阅讯
  • AJAX在VS2005中的简单应用
  • 把JBoss缓存用作POJO缓存的实战演练
  • Oracle 10g Release2新功能之Ref Cursor
  • VS2005+Crystal Report开发Web应用
  • WEB2.0教程:什么是SNS网站?
  • Thinking in AJAX(二) —— WEB设计
  • Eclipse3.2+Tomcat5.5.17+Oracle9配置
  • VS2005中用Code Snippets提高开发效率
  • Atlas应用程序的调试技巧
  • 精华:AJAX开发简略(第一部分)
阅读排行
  • 1..net页面间的参数传递简单实例
  • 2.VC++与Matlab混合编程之引擎操作详解
  • 3.Oracle数据库数据对象分析
  • 4.Eclipse3.2+Tomcat5.5.17+Oracle9配置
  • 5.Oracle数据库中索引的维护
  • 6.在Oracle的网络结构中解决连接问题
  • 7.Oracle数据安全面面观
  • 8.Oracle数据库的ORA-00257故障解决过程
  • 9.Oracle数据库备份与恢复的三种方法
  • 10.Oracle与SQL Server在企业应用中的比较
专题教程
  • 大话G游 专题:手机病毒揭密
  • ARP攻击防范与解决方案 路由故障处理手册
  • Picasa中文版_Picasa教程 专题:清除流氓软件
  • Firefox专题 seo搜索引擎优化专区
  • 重装Windows必知的事情 装机之必备软件大行动
病毒专杀栏
  • 杀毒软件反被病毒杀 连"救命"都不能喊
  • 金山ARP防火墙
  • 还原卡神话破灭“机器狗”病毒来势汹汹
  • cctv经济半小时:你的手机现在安全吗?
  • 新挂马方式开始流行 ARP挂马称雄局域网
  • 木马和病毒清除的通用解法
  • IP地址不再冲突 查找ARP攻击者元凶
  • 教你几招识别和防御Web网页木马
  • 分析:封杀BT只是暂时的止痛药
  • QQ爆危险漏洞,“QQ游戏邀请大盗”邀请你玩病
关于我们 | 诚聘英才 | 联系我们 | 版权声明 | 网站大事 | 网站地图 | 意见建议
CopyRight 2005-2007 Jztop.Com 版权所有 未经许可 请勿转载