# Extract value of the hpricot elem

**URL:** <https://www.ruby-forum.com/t/extract-value-of-the-hpricot-elem/145672>\
**Category:** Ruby\
**Created:** [August 12, 2008, 8:05pm UTC](https://www.ruby-forum.com/t/extract-value-of-the-hpricot-elem/145672 "2008-08-12T20:05:52Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Junkone](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/e274bd/32.png) [@Junkone](https://www.ruby-forum.com/u/Junkone)\
**Post date:** [August 12, 2008, 8:05pm UTC](https://www.ruby-forum.com/t/extract-value-of-the-hpricot-elem/145672/1 "2008-08-12T20:05:52Z")

</div>

url=“[http://www.nasdaq.com/aspxcontent/shortinterests.aspx](http://www.nasdaq.com/aspxcontent/shortinterests.aspx)?  
symbol=FRE&selected=FRE”  
doc=open(url) {|f| Hpricot(f)}  
doc.search(“//table[@class=‘dataGrid’]”)  
rqTable=doc.search(“//table[@class=‘dataGrid’]”)  
rqTable.search(‘tr’).each{|tr|

tdArray=tr.search(‘td’)

dataArray=Array.new  
#tr.search(‘td’).each{|td|

# puts td.inner\_text

# }

puts tdArray[0].class,tdArray[1].to\_s,tdArray[2]  
puts “end”  
}

how do i get the text value of the tdArray[0] which is internally a  
Hpricot::Elem

---

<div class="post-metadata">

**Author:** ![Junkone](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/e274bd/32.png) [@Junkone](https://www.ruby-forum.com/u/Junkone)\
**Post date:** [August 12, 2008, 9:30pm UTC](https://www.ruby-forum.com/t/extract-value-of-the-hpricot-elem/145672/2 "2008-08-12T21:30:57Z")

</div>

On Aug 12, 2:04 pm, Junkone [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> ```
> #tr.search('td').each{|td|
> # puts td.inner_text
> # }
> 
> puts tdArray[0].class,tdArray[1].to_s,tdArray[2]
> puts "end"
> 
> ```
> 
> }
> 
> how do i get the text value of the tdArray[0] which is internally a  
> Hpricot::Elem

It’s often easier to simply go directly to what you want with XPath.  
I’m not sure exactly what you want to extract, but try this:

require ‘open-uri’  
url=“[http://www.nasdaq.com/aspxcontent/shortinterests.aspx](http://www.nasdaq.com/aspxcontent/shortinterests.aspx)?  
symbol=FRE&selected=FRE”  
doc=Hpricot(open(url))  
rqTable=doc.search(“//table[@class=‘dataGrid’]//td/text()”)  
puts rqTable.inspect
