gpt4 book ai didi

ruby - 使用 REXML 文档和 Ruby 获取元素的 InnerXML

转载 作者:太空宇宙 更新时间:2023-11-03 16:07:45 25 4
gpt4 key购买 nike

我已经到处寻找,但没有找到答案。

我正在使用 SOAP API,我希望仅将部分响应作为 XML 存储在数据库中。

代码如下:

require 'rexml/document'
doc = REXML::Document.new(response.to_xml)
data = doc.root.elements['//SearchResult'].to_s

这为我提供了响应节点内的所有 XML。

我只想要那个节点的内容,而不是节点。

现在我得到:

<SearchResult>
<bla></bla>
<bla2></bla2>
</SearchResult>

但我只想:

<bla></bla>
<bla2></bla2>

我在 Rails 3.2.x 中使用 ruby​​ 1.9.3-head。

我在某处找到了一个 .value() 方法,但它对元素不起作用,这是我从 XPath 搜索中得到的。

请指教。

最佳答案

doc.root.elements['//SearchResult'].elements.each do | elem |
p elem
end

给予

<bla> ... </>
<bla2> ... </>

所以,用

data = doc.root.elements['//SearchResult'].elements.map(&:to_s)

您可以检索所有子节点的 String 表示形式的数组。

关于ruby - 使用 REXML 文档和 Ruby 获取元素的 InnerXML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9992178/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com