REXML – 如何提取单个元素
我正在ruby中编写一些验收测试,其中涉及在响应XML中声明值的存在。
我的XML是这样的:
whatever
还有其他属性,但上面的内容应该说明我的观点。 这是我的ruby代码:
xml = xmlDoc = REXML::Document.new(xml) puts xmlDoc.elements().to_a('file/name')
这打印出whatever
但我希望它只是打印出来的whatever
在这个XML中,只有一个名称元素。 我已经能够使用elements.each
打印出我想要的文本了。但它看起来有点矫枉过正。
谢谢,阿德里安
尝试
xmlDoc.elements().to_a('file/name').first.text
然后添加一些error handling(这不是很健壮)。
to_a
返回一个REXML元素数组。 first
您检索第一个(也可能是唯一的)元素。 使用text
可以访问元素文本内容。