ruby - 使用方法调用将 XML 从 Nokogiri xml 构建器 block 插入到另一个构建器 block 中

标签 ruby xml nokogiri

我正在尝试为我正在制作的库构建 xml。我想做的是:

def block1
  builder = Nokogiri::XML::Builder.new do |xml|
    xml.SomeStuff {
      xml.ThingsUnderStuff
      (block2 needs to go here)
    }
  end
end

def block2
  builder = Nokogiri::XML::Builder.new do |xml|
    xml.AddedToStuff {}
  end
end

我不知道该怎么做,除非我忽略了它,否则我无法在文档中找到任何可以用于此目的的内容。感谢任何人的帮助。

最佳答案

require 'nokogiri'
def block1
  builder = Nokogiri::XML::Builder.new do |xml|
    xml.SomeStuff {
      xml.ThingsUnderStuff
      block2(xml)
    }
  end
end

def block2(xml)
    xml.AddedToStuff
end

puts block1.doc
#=> <?xml version="1.0"?>
#=> <SomeStuff>
#=>   <ThingsUnderStuff/>
#=>   <AddedToStuff/>
#=> </SomeStuff>

关于ruby - 使用方法调用将 XML 从 Nokogiri xml 构建器 block 插入到另一个构建器 block 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10038507/

相关文章:

ruby - "HTTPI tried to user the httpi adapter"使用 Savon SOAP 库时出错

android - XMPP asmack 问题缺少属性

c# - 不能在 c# 中使用 xml 中的地理标记

ruby-on-rails - Nokogiri 与 Ruby on Rails 相关的问题

ruby-on-rails - Ruby/Rails 神秘的 "undefined constant"问题

ruby - 如何访问 Ruby/对象属性

python - 使用 cElementTree 从 XML 查找所有节点

ruby - 当 XML 具有命名空间时,如何使用 Xpath 和 Nokogiri 打印值

ruby-on-rails - 如何使用正则表达式模式从 URL 中提取参数

ruby-on-rails - 将时间与 rails 中的时区进行比较