首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在ruby中解析xml内容

在ruby中解析xml内容
EN

Stack Overflow用户
提问于 2011-11-14 08:05:36
回答 1查看 749关注 0票数 2

需求: SiteMap XML获取/解析器获取站点的完整地图,解析XML内容以提取源网站URL (使用cron作业)

描述:还应该实现一个sitemap.xml解析器来获取整个网站的地图,或者在没有RSS可用的情况下。

  1. 也应该实现sitemap.xml解析器来获取整个网站的地图,或者在没有RSS可用的情况下。有些网站可以有多个SiteMaps。Sitemaps的详细信息来源将是sitemaps表,在该表中将从ActiveAdmin进行数据输入,解析器应该作为独立的ruby程序(ruby/sitemap_parser.rb)来实现,这样它就可以作为独立脚本执行,该脚本将与使用ActiveAdmin的数据库进行通信。这个ruby程序所需的模型应该在ruby/lib/models.

我的代码:

代码语言:javascript
运行
复制
require 'rubygems'
require 'nokogiri'
require 'open-uri'
require 'active_resource'

class SitemapParser
  url = "http://railsjob.com/jobs/2040-Ruby-on-Rails-developer-Sydney-Australia.xml"
  doc = Nokogiri::HTML(open(url))
  puts doc.at_css("title").text
  doc.css(".item").each do |item|
  title = item.at_css(".prodLink").text
  price = item.at_css(".PriceCompare .BodyS, .PriceXLBold").text[/\$[0-9\.]+/]
  puts "#{title} - #{price}"
  puts item.at_css(".prodLink")[:href]
end

class Sitemap < ActiveResource::Base
  self.site = "http://localhost:3000/admin/"
  self.user = "USER@XXX.com"
  self.password = "XXX"
end

s = Sitemap.all
puts s.inspect


end

我应该做哪些更改,在模型中应该编写什么代码?

EN

回答 1

Stack Overflow用户

发布于 2011-11-14 08:29:56

要加载rails应用程序环境,必须require位于应用程序配置文件夹中的environment.rb

代码语言:javascript
运行
复制
require 'config/environment.rb'

您可以使用Nokogiri获取页面的内容,并使用nokogiri作为解析器,也可以获取页面的源并使用Hash.from_xml(<your_xml_here>)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8118797

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档