【发布时间】:2011-11-17 23:21:00
【问题描述】:
我正在尝试使用 rexml 将一些 xml 元素的值放入一个数组中。这是我正在做的一个例子:
doc = Document.new("<data><title>This is one title</title><title>This is another title</title></data>")
XPath.each( doc, "*/title") { |element|
puts element.text
}
但是,输出:
[<title> ... </>, <title> ... </>]
如何让它输出一个包含“这是一个标题”和“这是另一个标题”的数组?
【问题讨论】:
-
虽然
puts可以将其参数转换为字符串,但您可以让XPath 首先返回文本节点:XPath.each(doc, "*/title/text()") {... -
就是这样。我不得不在每个内部调用 text() 方法。谢谢!
-
@LarsH:对不起,Lars,我在发布答案后才看到您的评论:(请发布答案,我会删除我的。
-
@Dimitre:好的,会的。我一开始没有发布答案的原因是因为我认为,根据 lwburk 的回答,问题已经解决了。
-
@Jarred,很高兴您的问题得到解决。我将我的评论转换为答案......所以如果你想投票,那就是它。
标签: ruby-on-rails ruby xml xpath rexml