2012-02-09 14 views
1

私はXMLファイルの束を解析しようとしています。私はNokogiri、Ruby、XPathを使用しています。しかし、どんな結果も得られない。私は間違って何をしていますか、いくつかのヒントやいくつかのコードサンプルには喜ばれるでしょう。 XMLファイルのruby​​ nokogiriでurlからxmlを読む

例:XML-リンク

は、ここに私のRUBY SCRIPT IS:

require 'rubygems' 
require 'nokogiri' 
require 'open-uri' 

# parse the HTML document with all the links to the XML files. 
doc = Nokogiri::HTML(open('link')) 
# URLS - array 
@urls = Array.new 
#Get all XML-urls and save them in urls-array 
doc.xpath('//a/@href').each do |links| 
    @urls << links.content 
end 

#LOCALITY array 
@locality = Array.new 
# loop all the url of the XML files 
@urls.each do |url| 
    doc = Nokogiri::HTML(open(url)) 
    # grab the content I want 
    doc.xpath('//educationprovider//vcard//adr/locality').each do |locality_node| 
    # store it in locality array 
    @locality << locality_node.content 
    end 
    # loop the the locality array and print it out 
    ([email protected] - 1).each do |index| 
    puts "LOCAL: #{@locality[index]}" 
    end 
end 

EDIT: 問題は、XPath式にありました。正しい式は // educationprovider // vcard // adr // locality

+0

'doc = Nokogiri :: HTML(open( 'link'))'ではできませんが、 'doc = Nokogiri: :HTML(open( 'http://www.example.com')) '。今後の質問については、XMLまたはHTMLの問題についてのヘルプが必要なときはいつでも、データのサンプルまたはライブデータにアクセスする必要があります。この質問に答えようとすると、それは不可能に近いでしょう。 –

答えて

1

xpath式に問題がありました。 正しい式は:// educationprovider // vcard // adr // locality