2011-09-21 98 views
0

我正在使用nokogiri红宝石gem来解析xml。ruby​​ xpath nokogiri

<d:abc>19</d:abc> 
<d:def m:type="Edm.Double">0</**d:def> 

假设条目是XML引入nokogiri节点,使用上述示例XML。我可以很容易地通过使用 entry.xpath得到ABC的文本。( 'd:ABC')文本

如何获得的高清的文本?

感谢

+0

你放心,命名空间,其前缀'“d:”'和'“男:”'注定,与您的XPath引擎注册?否则,您可能会遇到错误。 –

+0

hi,mu ..如果您注意到示例中的第二个XML元素是“def” – iwan

+0

嗨Dimitre,我没有收到的任何错误,但是我找不到,你想介绍一下你所指的注册吗?我从第三方获得XML ..所以我没有很大的灵活性来更改XML – iwan

回答

0
require 'nokogiri' 
xml = Nokogiri::XML('<root xmlns:m="bar"><def m:type="Edm.Double" /></root>') 
p xml.at_xpath('//def').attribute('type').text 
#=> "Edm.Double" 
+0

嗨Phrogz ..谢谢,我编辑了你的答案并接受为答案。谢谢! – iwan