1
如果我在內部具有以下子元素的元素,如何使用Hpricot訪問這些兒童元素?使用Hpricot獲取兒童元素
<p><b>Code</b> <i>base</i> is <a href="#">cool</a> stuff dude!</p>
如果我在內部具有以下子元素的元素,如何使用Hpricot訪問這些兒童元素?使用Hpricot獲取兒童元素
<p><b>Code</b> <i>base</i> is <a href="#">cool</a> stuff dude!</p>
通過的 「孩子」,你的意思是直接的兒童,或遞歸所有的孩子?
您可以輕鬆獲得直接的孩子。
irb(main):038:0> (doc/"p").first.children
=> [{elem <b> "Code" </b>}, " ", {elem <i> "base" </i>}, " is ", {elem <a href="#"> "cool" </a>}, " stuff dude!"]
irb(main):039:0>
如果你想要的任何特定的一個,也很容易:
irb(main):057:0> (doc/"p").first.find_element "b"
=> {elem <b> "Code" </b>}
irb(main):058:0> (doc/"p").first.find_element "a"
=> {elem <a href="#"> "cool" </a>}
irb(main):059:0>
更多細節將幫助我們來幫助你!
你想訪問哪個子元素?使用Hpricot的「搜索」方法可以使用XPath表達式。如果你發佈了這個元素,也許我可以給你一隻手 – William 2010-11-06 00:04:49
@William:問題是這可能是動態的。我正在嘗試修改HTML字符串 – dennismonsewicz 2010-11-06 00:06:31
中的所有子元素,您可以在父元素上嘗試'inner_html',檢查hpricot文檔(https://github.com/hpricot/hpricot/wiki/Hpricot-Basics)也能夠伸出援助之手。 – William 2010-11-06 00:09:19