快速业务通道

在Rails App上写XML - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-14
是 catalogs。

修改这个迁移脚本001_create_catalogs.rb 去创建一个数据库表并且添加数据到表中。在 create_table转化中,用定期刊物的专栏、出版者、题目和作者来创建一个表目录,如下所示:

class CreateCatalogs < ActiveRecord::Migration def self.up create_table :catalogs do |t| t.column :journal, :string, :limit => 255 t.column :publisher, :string, :limit => 255 t.column :edition, :string, :limit => 255 t.column :title, :string, :limit => 255 t.column :author, :string, :limit => 255 end Catalog.create :journal => "IBM developerWorks", :publisher => "IBM", :edition => " October 2005", :title=> "JAXP validation", :author=>"Brett McLaughlin" Catalog.create :journal => "IBM developerWorks", :publisher => "IBM", :edition => "July 2006", :title=> "The Java XPath API", :author=>"Elliotte Rusty Harold" end def self.down drop_table :catalogs end end

在Rails App上写XML(3)

时间:2011-11-09 Deepak Vohra

用rake. rake运行这个迁移脚本和在J2EE中运行Ant有相似之处。Rails 提供了一个叫做迁移的目标去 运行迁移。

C:/ruby/databasexml>rake migrate

这个数据库表目录是在MySQL 数据库中被创建的。下面,创建一个控制器脚本,包括一个控制器动作 gen_xml,以便从数据库表中产生一个XML文件。

C:/ruby/databasexml>ruby script/generate controller catalog gen_xml

这个控制器脚本app/controllers/catalog_controller.rb被创建了。修改这个模型脚本来设置数据库 表并建立与MySQL 数据库的连接。这个数据库表是用ActiveRecord::Base类的set_table_name方法设置的 。这个数据库连接是用ActiveRecord::Base 类的establish_connection 方法建立的。这个模型脚本 catalog.rb如下所示:

require ''active_record'' class Catalog < ActiveRecord::Base set_table_name "catalogs" end ActiveRecord::Base.establish_connection( :adapter => "mysql", :host   => "localhost", :username => "root", :password =>   nil,    :database => "test" )

在控制器脚本中,为了找回MySQL 数据库中的数据,修改控制其动作的gen_xml。在这个gen_xml 方法 中,创建一个Builder::XmlMarkup 对象。

@xml = Builder::XmlMarkup.new

为了从MySQL 数据库表目录中找回数据,用find(:all) 方法把数据设置在模型脚本中。这个find (:all) 方法能从数据库表中找回所有的的纵列,然后利用find_by_sql(sql)方法去运行特定的SQL语句来 找回数据。

@catalogs=Catalog.find(:all)

完整的控制器脚本显示在下面:

class CatalogController < ApplicationController def gen_xml @xml = Builder::XmlMarkup.new @catalogs=Catalog.find(:all) end end

在views/catalog路径下,把gen_xml.rhtml 观察模板修改成为gen_xml.rxml.。

然后删除之前的gen_xml.rhtml 观察模板。在后边改成的RXML 模板中,利用从数据库中找回的数据来 创建一个XML文件并添加一个XML声明。

@xml.instruct! :xml, :version=>"1.0"

添加一个根元素目录。

@xml.catalogs{}

在Rails App上写XML(4)

时间:2011-11-09 Deepak Vohra

在根元素中,重述了这个从数据库中获取的数据,并且为结果集中的每一行数据创建目录元素。这个 @catalogs变量是在控

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号