# How does Hpricot ... inner\_text work?

**URL:** <https://www.ruby-forum.com/t/how-does-hpricot-inner-text-work/111237>\
**Category:** Ruby\
**Created:** [August 4, 2007, 4:57am UTC](https://www.ruby-forum.com/t/how-does-hpricot-inner-text-work/111237 "2007-08-04T04:57:39Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Phlip](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/ed8c4c/32.png) [@Phlip](https://www.ruby-forum.com/u/Phlip)\
**Post date:** [August 4, 2007, 4:57am UTC](https://www.ruby-forum.com/t/how-does-hpricot-inner-text-work/111237/1 "2007-08-04T04:57:39Z")

</div>

Rubies:

require ‘hpricot’  
hdoc = Hpricot(‘_nope__b xml_’)

# nope p hdoc.inner\_text

# nope p hdoc.root.inner\_text

# nope p hdoc.children.first.inner\_text

p hdoc.get\_elements\_by\_tag\_name # \<Hpricot::Elements[  
p hdoc.get\_elements\_by\_tag\_name.size # 3  
p hdoc.get\_elements\_by\_tag\_name.inner\_text # NoMethodError

The documentation for inner\_text implies it occupies the  
Hpricot::Elements  
array.

This experiment uses get\_elements\_by\_tag\_name to fetch all descendent  
elements. Then the inner\_text method vanishes.

How do we get a traversal of all derived nodes’ text? Working code  
samples  
preferred! (I have tried many more variations than those…)

I’m using libhpricot-ruby1.8 with Ubuntu…

---

<div class="post-metadata">

**Author:** ![Phlip](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/ed8c4c/32.png) [@Phlip](https://www.ruby-forum.com/u/Phlip)\
**Post date:** [August 4, 2007, 5:34pm UTC](https://www.ruby-forum.com/t/how-does-hpricot-inner-text-work/111237/2 "2007-08-04T17:34:38Z")

</div>

> I’m using libhpricot-ruby1.8 with Ubuntu…

When in doubt, blame Debian’s clumsy Ruby packaging. The out-of-the box  
Hpricot was 4.1 (with notorious bugs in the search, etc.).

Upgrading to this one provides the native inner\_text:

[http://archive.ubuntu.com/ubuntu/pool/universe/libh/libhpricot-ruby/libhpricot-ruby1.8\_0.5-2\_i386.deb](http://archive.ubuntu.com/ubuntu/pool/universe/libh/libhpricot-ruby/libhpricot-ruby1.8_0.5-2_i386.deb)
