繁体   English   中英

REXML - 如何提取单个元素

[英]REXML - How to extract a single element

我正在ruby中编写一些验收测试,其中涉及在响应XML中声明值的存在。

我的XML是这样的:

<?xml version="1.0"?>
<file xmlns:dvi=xxxxx>
    <name>whatever</name>
</file>

还有其他属性,但上面的内容应该说明我的观点。 这是我的红宝石代码:

xml = <the xml above>
xmlDoc = REXML::Document.new(xml)
puts xmlDoc.elements().to_a('file/name')

这种打印出<name>whatever</name> ,但我想将它打印出来whatever

在这个XML中,只有一个名称元素。 我已经能够使用elements.each打印出我想要的文本。但它似乎有点矫枉过正。

谢谢,阿德里安

尝试

xmlDoc.elements().to_a('file/name').first.text

然后添加一些错误处理(这不健壮)。

to_a返回一个REXML元素数组。 first您检索第一个(也可能是唯一的)元素。 使用text可以访问元素文本内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM