ruby中的文件解析
示例文件内容:-ruby中的文件解析,ruby,parsing,file,Ruby,Parsing,File,示例文件内容:- <DT><A HREF="http://www.cnn.com/" ADD_DATE="1299885544">CNN</A> <DT><A HREF="http://www.nytimes.com/" ADD_DATE="1299885544">The New York Times</A> <DT><A HREF="feed://news.google.
<DT><A HREF="http://www.cnn.com/" ADD_DATE="1299885544">CNN</A>
<DT><A HREF="http://www.nytimes.com/" ADD_DATE="1299885544">The New York Times</A>
<DT><A HREF="feed://news.google.com/?output=rss" ADD_DATE="1299885544">Google News</A>
<DT><A HREF="http://www.news.com/" ADD_DATE="1299885544">CNET News.com</A>
<DT><A HREF="http://espn.go.com/" ADD_DATE="1299885544">ESPN</A>
上述代码的O/p:--
PM
<Nokogiri::XML::Element:0x81dbed64 name="a" attributes=[#<Nokogiri::XML::Attr:0x81dbe120 name="href" value="http://maps.google.com/">, #<Nokogiri::XML::Attr:0x81dbe0e4 name="add_date" value="1299885544">] children=[#<Nokogiri::XML::Text:0x81db3590 "Google Maps">]>
我想要有URL和它的值。即“feed://news.google.com/?output=rss“和“谷歌新闻”m.text将返回以下值:
h = {} #=> {}
irb(main):021:0> file.search('//*[@href]').each do |m|
irb(main):022:1* h[m[:href]] = m.text
irb(main):023:1> end
=> 0
irb(main):024:0> h
=> {"http://www.cnn.com/"=>"CNN", "http://www.nytimes.com/"=>"The New York Times", "feed://news.google.com/?output=rss"=>"Google News", "http://www.news.com/"=>"CNET News.com", "http://espn.go.com/"=>"ESPN"}
irb(main):025:0>
http://maps.google.com/
h = {} #=> {}
irb(main):021:0> file.search('//*[@href]').each do |m|
irb(main):022:1* h[m[:href]] = m.text
irb(main):023:1> end
=> 0
irb(main):024:0> h
=> {"http://www.cnn.com/"=>"CNN", "http://www.nytimes.com/"=>"The New York Times", "feed://news.google.com/?output=rss"=>"Google News", "http://www.news.com/"=>"CNET News.com", "http://espn.go.com/"=>"ESPN"}
irb(main):025:0>