- 浏览: 268349 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (263)
- mysql (5)
- boost (6)
- 工具 (10)
- IT生活 (7)
- 多线程 (3)
- Ruby (15)
- php (2)
- MongoDB (39)
- 移动互联网 (2)
- 测试 (8)
- c++ (28)
- 书 (1)
- 网站 (3)
- 网络编程 (14)
- 开源软件 (1)
- 分布式计算 (1)
- 得得得 (1)
- php,wordpress (1)
- error (5)
- 编译 (2)
- 学习 (1)
- 杀毒软件 (1)
- dd (0)
- linux (21)
- 数据库 (1)
- STL (1)
- c++/c (5)
- 软件设计 (1)
- 操作系统 (4)
- 库 (2)
- win32 (1)
- s (0)
- openssl (1)
- perl (2)
- debug (1)
- windows (4)
- python (12)
- windows 防火墙 (1)
- vs (1)
- vim (2)
- vc (1)
- 浏览器插件的危害 (1)
- curl (0)
- 判断手机号码合法性的库 (0)
- 地址备注 (0)
- 安装 File::Slurp (1)
- cenos (2)
- shell (1)
- linunx (1)
- internet (1)
- software (1)
- widows (1)
- linux io (1)
- nginx (2)
- 算法 (2)
- google (1)
- protobuf (2)
- tengine (1)
- tools (1)
- lua (2)
- liunx (1)
- vcard (1)
- lua-iconv (1)
- 网络 (2)
- teat (0)
- ldconfig linux (0)
- awk (0)
- grep (0)
- windws (2)
- linux 命令 (1)
- tcp dump (1)
- vmware (1)
- question2answer (2)
- mongdb (1)
- 正则 (1)
- OCR (2)
- Windows Server (1)
最新评论
1.xml文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<dataroot xmlns:od="urn:schemas-microsoft-com:officedata" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="book1.xsd" generated="2008-12-28T19:12:24">
<book1>
<bianhao>GAR001</bianhao>
<name>计算机组装与维护教程</name>
<借阅时间>2008-03-14T17:23:28</借阅时间>
<author>刘瑞新</author>
<publish>机械工业出版社</publish>
<count>1</count>
<language>中文</language>
<manager>ctec</manager>
</book1>
<book1>
<bianhao>GAR002</bianhao>
<name>计算机接口技术</name>
<借阅时间>2008-03-14T17:27:16</借阅时间>
<author>刘星等</author>
<publish>机械工业出版社</publish>
<count>1</count>
<language>中文</language>
<manager>ctec</manager>
</book1>
<book1>
<bianhao>GAR003</bianhao>
<name>数值分析与算法</name>
<借阅时间>2008-03-14T17:28:50</借阅时间>
<author>徐士良</author>
<publish>机械工业出版社</publish>
<count>1</count>
<language>中文</language>
<manager>ctec</manager>
</book1>
</dataroot>
ruby.rb文件内容:
require 'rexml/document'
xml =REXML::Document.new(File.open"1.xml"
xml.each_element('//book1') do |newbook|
puts newbook.elements['bianhao'].text
puts newbook.elements['name'].text
puts newbook.elements['author'].text
puts newbook.elements['publish'].text
puts newbook.elements['count'].text
puts newbook.elements['language'].text
puts newbook.elements['manager'].text
end
转自: http://zmfbird.iteye.com/blog/306174
Ruby解析HTML插件Nokogiri使用实践
2010-05-20 10:27
关于ruby解析XML,HTML的插件介绍得很多,其中最出名的的有Hpricot和Nokogiri, 关于这两个,推荐选用Nokogiri.(http://www.espace.com.eg/blog/2009/03/24/nokogiri-vs-hpricot/)
参考安装和文档:http://nokogiri.org
Nokogiri (Github repository), a new HTML and XML parser for Ruby. It "parses and searches XML/HTML faster than Hpricot" (Hpricot being the current de facto Ruby HTML parser) and boasts XPath support, CSS3 selector support (a big deal, because CSS3 selectors are mega powerful) and the ability to be used as a "drop in" replacement for Hpricot.
总体来说,Nokogiri是较好的一个Ruby版HTML/XML解析插件。
安装:gem install nokogiri
注:有时候会遇到libxml2相关的错误:无法找到libxml2.dll 或:无法定位程序输入点xmlNewDocPI于动态链接库 libxml2.dll上。 这时,在nokogiri安装目录下C:\Ruby18\lib\ruby\gems\1.8\gems\nokogiri-1.4.1-x86-mswin32\,找到ext\nokogiri\目录下的几个dll文件,拷贝到C:\Ruby18\bin目录下。
测试:建立一个ruby文件
require 'nokogiri'
require 'open-uri'
doc = Nokogiri::HTML(open('http://zhangxh.net/hr/quiz/1/bar_list.html'))
doc.xpath('*').each do |link|
puts link.content
end
运行:得到相应结果!
page.css('td') # should return an array of 4 table cell nodes
page.css('td')[3] # return the 4th 'td' node, counting starts at 0
http://nokogiri.rubyforge.org/nokogiri/Nokogiri/XML/Document.html
转自: http://hi.baidu.com/kenrome/blog/item/269730120149795df919b824.html
本人自己写的代码:
require 'nokogiri'
require 'open-uri'
<?xml version="1.0" encoding="UTF-8"?>
<dataroot xmlns:od="urn:schemas-microsoft-com:officedata" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="book1.xsd" generated="2008-12-28T19:12:24">
<book1>
<bianhao>GAR001</bianhao>
<name>计算机组装与维护教程</name>
<借阅时间>2008-03-14T17:23:28</借阅时间>
<author>刘瑞新</author>
<publish>机械工业出版社</publish>
<count>1</count>
<language>中文</language>
<manager>ctec</manager>
</book1>
<book1>
<bianhao>GAR002</bianhao>
<name>计算机接口技术</name>
<借阅时间>2008-03-14T17:27:16</借阅时间>
<author>刘星等</author>
<publish>机械工业出版社</publish>
<count>1</count>
<language>中文</language>
<manager>ctec</manager>
</book1>
<book1>
<bianhao>GAR003</bianhao>
<name>数值分析与算法</name>
<借阅时间>2008-03-14T17:28:50</借阅时间>
<author>徐士良</author>
<publish>机械工业出版社</publish>
<count>1</count>
<language>中文</language>
<manager>ctec</manager>
</book1>
</dataroot>
ruby.rb文件内容:
require 'rexml/document'
xml =REXML::Document.new(File.open"1.xml"
xml.each_element('//book1') do |newbook|
puts newbook.elements['bianhao'].text
puts newbook.elements['name'].text
puts newbook.elements['author'].text
puts newbook.elements['publish'].text
puts newbook.elements['count'].text
puts newbook.elements['language'].text
puts newbook.elements['manager'].text
end
转自: http://zmfbird.iteye.com/blog/306174
Ruby解析HTML插件Nokogiri使用实践
2010-05-20 10:27
关于ruby解析XML,HTML的插件介绍得很多,其中最出名的的有Hpricot和Nokogiri, 关于这两个,推荐选用Nokogiri.(http://www.espace.com.eg/blog/2009/03/24/nokogiri-vs-hpricot/)
参考安装和文档:http://nokogiri.org
Nokogiri (Github repository), a new HTML and XML parser for Ruby. It "parses and searches XML/HTML faster than Hpricot" (Hpricot being the current de facto Ruby HTML parser) and boasts XPath support, CSS3 selector support (a big deal, because CSS3 selectors are mega powerful) and the ability to be used as a "drop in" replacement for Hpricot.
总体来说,Nokogiri是较好的一个Ruby版HTML/XML解析插件。
安装:gem install nokogiri
注:有时候会遇到libxml2相关的错误:无法找到libxml2.dll 或:无法定位程序输入点xmlNewDocPI于动态链接库 libxml2.dll上。 这时,在nokogiri安装目录下C:\Ruby18\lib\ruby\gems\1.8\gems\nokogiri-1.4.1-x86-mswin32\,找到ext\nokogiri\目录下的几个dll文件,拷贝到C:\Ruby18\bin目录下。
测试:建立一个ruby文件
require 'nokogiri'
require 'open-uri'
doc = Nokogiri::HTML(open('http://zhangxh.net/hr/quiz/1/bar_list.html'))
doc.xpath('*').each do |link|
puts link.content
end
运行:得到相应结果!
page.css('td') # should return an array of 4 table cell nodes
page.css('td')[3] # return the 4th 'td' node, counting starts at 0
http://nokogiri.rubyforge.org/nokogiri/Nokogiri/XML/Document.html
转自: http://hi.baidu.com/kenrome/blog/item/269730120149795df919b824.html
本人自己写的代码:
require 'nokogiri'
require 'open-uri'
def getXML() #从网站"intsig.net"获取body为xml格式的文件 #<card_list> #<card t="1" cid = "21212">http://fifjeiaofjoe//</card> #</card_list> doc = Nokogiri::HTML(open('http://intsig.net')) #puts(doc) doc.search('//html/body/card_list/card').each do |card| puts(card.text) t = card.attribute("t") cid = card.attribute("cid") puts(t) puts(cid) end end
发表评论
-
rubuy http
2013-03-28 16:15 659http://ruby-doc.org/stdlib-2.0/ ... -
[转]ruby正则表达式
2013-01-17 18:31 1124ruby正则表达式 Posted on 02/21/2012 ... -
[转]一步一步学Ruby(九):Ruby正则表达式(上)
2013-01-10 17:24 614记录个链接:http://www.cnblogs.com/cn ... -
[转]ruby 中的urlencode和urldecode
2012-07-12 18:40 952方法一: def URLDecode(str) str.g ... -
【转】ruby 杀系统进程
2012-07-12 10:50 750require 'win32ole' #功能说明: #- ... -
【转】ruby 调用其他函数
2012-06-27 19:53 9061、获取其他程序的运行结果 x= system(" ... -
ruby 下载文件到本地
2012-05-19 16:36 1197require 'open-uri' def dow ... -
gem
2012-04-12 14:00 0gem list gem install gem instal ... -
gem 安装 找不到 http://gems.rubyforge.org/
2012-04-12 11:45 1211使用Gem install安装starling出错 ERROR ... -
sublime ruby 编辑器
2012-03-02 19:13 732http://v.youku.com/v_show/id_XM ... -
mongodb 的 ruby 支持安装
2012-02-07 14:01 779帮助文档: 1. http://api.mongodb.org ... -
Ruby 读取文件
2011-11-23 17:17 871读写二进制文件 File.open('in.dat' ... -
Ruby 网络编程
2011-11-03 16:38 963Ruby支持很多网络协议,不管是高层的还是底层的。ruby提供 ... -
ruby中数字与数字字符串相加的原理
2011-08-19 15:41 1103转: http://googya.iteye.com/blog ... -
Ruby invalid multibyte char(US-ASCALL)
2011-08-10 14:08 889需正确输出中文的方法: 在运行脚本文件时,加入相关的参数-Ks ...
相关推荐
ruby对xml文件的解析,不是很全,应该还是有一定帮助的
2. **Ruby解析XML**:介绍如何使用Nokogiri库读取和解析XML文件,包括解析XML文档、查找特定元素、提取数据等。 3. **XPath和CSS选择器**:如果Nokogiri被使用,那么可能会提及XPath和CSS选择器,它们是定位XML文档...
本篇文章将深入探讨如何在Ruby程序中利用REXML库解析XML格式的数据。 首先,我们要了解REXML的基本概念。REXML是Ruby的一个标准库,由Sean Russell开发,它是一个纯Ruby实现的XML解析器。虽然Ruby还有其他如...
Nokogiri允许我们快速创建和解析XML文档,同时提供了XPath和CSS选择器来查找文档中的特定元素。例如,我们可以这样加载一个XML文件: ```ruby require 'nokogiri' xml_file = File.open('example.xml') doc =...
要用ruby解析xml,使用socket通信
这个解析器的独特之处在于它的简洁性和速度,这得益于其底层的C语言实现,为Ruby提供了一个轻量级且高性能的接口来解析XML数据。 XML(可扩展标记语言)是一种广泛应用的数据交换格式,常用于Web服务、配置文件和...
一旦定义好这个类,我们就可以使用`parse`方法解析XML字符串或文件,将数据转换成Ruby对象: ```ruby xml = '<user><id>1</id><name>John Doe</name><email>johndoe@example.com</email></user>' user = User.parse...
Ruby 使用 REXML 解析处理 XML REXML 是一个 Ruby 库,用于解析和处理 XML 文档。下面是使用 REXML 解析处理 XML 的一些知识点: 1. 基本使用:使用 REXML 解析 XML 文档,需要首先将 XML 字符串转换为 Document ...
SAX(Simple API for XML)解析器是基于事件的,它在解析XML文档时逐个读取XML文件的各个元素,并触发事件处理程序。而DOM(文档对象模型)解析器则将整个XML文档加载到内存中,并构建成一个树形结构,这样可以更...
- 解析XML:使用`Nokogiri::XML`方法打开一个XML文件,然后可以通过`search`或`at`方法使用XPath或CSS查询文档。 - 修改XML:可以创建新的元素,使用`add_child`方法添加到树中,或者用`content=`设置元素内容。 ...
Nokogiri是Ruby社区广泛使用的库,用于解析HTML、XML文档,提供强大的搜索、操作和转换功能。现在,Crystal语言也有了类似的工具,使得开发者可以在保持高效性能的同时,享受与Nokogiri类似的解析体验。 描述中的...