REXML是处理,解析XML的包,是Ruby自带的包。因为支持XPath表达式的查询,所以用来查询结点,解析XML非常方便。
通过最近做项目对解析和处理XML有如下认识:
REXML功能非常强大,但是使用上不是特别的方便,Rails把它封装了一下,生成XML非常容易,代码也很简单直观。
但对于解析XML,用REXML就可以了,十分方便并且灵活。
生成XML,用Rails的Builder::XmlMarkup比较方便(rjs模板好像就用这个,由于项目需要生成XML字符后直接传给另一个方法,所以用不了rjs)
示例代码:
以下示例引用<<ProgrammingRuby 1.9>>
<classes language="ruby">
<class name="Numeric">
Numeric represents all numbers.
<class name="Float">
Floating point numbers have a fraction and a mantissa.
</class>
<class name="Integer">
Integers contain exact integral values.
<class name="Fixnum">
Fixnums are stored as machine ints.
</class>
<class name="Bignum">
Bignums store arbitraty-sized integers.
</class>
</class>
</class>
</classes>
require 'rexml/document'
xml = REXML::Document.new(File.open("demo.xml"))
puts "Root element: #{xml.root.name}"
puts "\nThe names of all classes"
xml.elements.each("//class") {|c| puts c.attributes["name"] }
puts "\nThe description of Fixnum"
p xml.elements["//class[@name='Fixnum']"].text
produces:
Root element: classes
The names of all classes
Numeric
Float
Integer
Fixnum
Bignum
The description of Fixnum
"\n Fixnums are stored as machine ints.\n "
以下示例来源Rails API Builder::XmlMarkup
xm.instruct! # <?xml version="1.0" encoding="UTF-8"?>
xm.html { # <html>
xm.head { # <head>
xm.title("History") # <title>History</title>
} # </head>
xm.body { # <body>
xm.comment! "HI" # <! -- HI -->
xm.h1("Header") # <h1>Header</h1>
xm.p("paragraph") # <p>paragraph</p>
} # </body>
} # </html>
分享到:
相关推荐
《Ruby on Rails Tutorial》中文版(原书第2版,涵盖 Rails 4) Ruby 是一门很美的计算机语言,其设计原则就是“让编程人员快乐”。David Heinemeier Hansson 就是看重了这一点,才在开发 Rails 框架时选择了 Ruby...
- **AJAX**:学习如何在Ruby on Rails应用中集成异步JavaScript和XML技术。 - **部署、安全与性能**:讲解如何部署Ruby on Rails应用、实施安全措施以及优化性能。 #### 结语 通过这五天的课程,读者不仅能够系统地...
RUBY RAILS INSTALLRUBY RAILS INSTALLRUBY RAILS INSTALL The Best Ruby Rails Server!
Ruby on Rails是一款基于Ruby语言的开源Web开发框架,它遵循MVC(模型-视图-控制器)架构模式,简化了Web应用的开发流程。在Linux环境下安装Ruby on Rails需要一系列的依赖包和步骤,本资源包提供了所需的所有组件,...
Ruby on Rails,简称Rails,是基于Ruby编程语言的一个开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,旨在提高开发效率和代码的可读性。Rails以其“约定优于配置”(Convention over Configuration)...
Ruby on Rails(简称Rails)是一种基于Ruby编程语言的开源Web应用程序框架,专为敏捷开发而设计,强调简洁的代码和“约定优于配置”的原则。它主要用于构建数据驱动的Web应用,借助于MVC(Model-View-Controller)...
Ruby on Rails,简称Rails,是由David Heinemeier Hansson创建的一种基于Ruby语言的开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,旨在提高开发效率和可读性。在这个开发环境包中,我们拥有Ruby ...
Ruby on Rails,简称Rails,是由David Heinemeier Hansson基于Ruby语言开发的一个开源Web应用程序框架。这个框架遵循“约定优于配置”(Convention over Configuration)的原则,致力于简化Web应用的开发流程,提高...
Ruby on Rails,简称Rails,是由David Heinemeier Hansson基于Ruby语言开发的一个开源Web应用程序框架。Rails遵循MVC(模型-视图-控制器)架构模式,致力于“约定优于配置”和“Don't Repeat Yourself”(DRY)的...
**Ruby for Rails** Ruby是一种面向对象的动态编程语言,它以其简洁、优雅的语法和强大的元编程能力而闻名。在Web开发领域,Ruby与Rails框架的结合,即Ruby on Rails(RoR),开创了Web应用的新纪元。Ruby on Rails...
Ruby on Rails,简称Rails,是基于Ruby语言的一个开源Web应用程序框架,它遵循MVC(Model-View-Controller)架构模式,旨在使Web开发过程更加高效、简洁。本压缩包中的"Ruby on Rails入门经典代码"提供了新手学习...
《Ruby on Rails 3 Tutorial》是一本专门为初学者设计的指南,旨在帮助读者快速掌握Ruby on Rails这一强大的Web开发框架。Ruby on Rails(简称Rails)是基于Ruby语言的一个开源框架,它采用MVC(Model-View-...
在本教程中,我们将深入探讨如何在Windows XP操作系统上搭建Ruby on Rails开发环境,特别强调使用RadRails作为集成开发环境(IDE)。Ruby on Rails(RoR)是一个强大的Web应用程序框架,它基于Ruby编程语言,提供了...
Ruby for Rails 英文原版, pdf格式 <br>本书是一部专门为Rails实践而写的经典Ruby著作,由四部分组成,共17章。第一部分讲述Ruby和Rails的编程环境。第二部分和第三部分与 Rails紧密联系,着重对Ruby这门语言...
相比于Java框架普遍存在的XML配置,Rails更倾向于使用YAML或纯Ruby代码进行配置,这使得配置文件更加简洁直观,符合Ruby语言的哲学。Rails的“Convention over Configuration”思想使得开发者可以更快地专注于业务...
书中可能还会涉及Rails的插件和gem(Ruby的包管理器),如Devise用于用户认证,CanCanCan或Pundit进行权限控制,以及Resque或Sidekiq处理后台任务。另外,部署Rails应用到Heroku、AWS或其他云平台也可能被提及,让...
在当前IT行业的发展中,处理XML和XSLT以及XPath是数据交互和文本处理的基本技能,尤其在使用Ruby语言进行Web开发,比如Ruby on Rails框架时,掌握这些技能对于处理后端数据和前端展示至关重要。本篇教程将介绍如何在...
Ruby on Rails,简称Rails,是一款基于Ruby语言的开源Web应用框架,它遵循MVC(Model-View-Controller)架构模式,旨在提升开发效率和代码的可读性。Rails以其“约定优于配置”的设计理念,以及“DRY(Don't Repeat ...