【问题标题】:How do I create this element using Nokogiri builder?如何使用 Nokogiri builder 创建此元素?
【发布时间】:2018-12-20 13:55:01
【问题描述】:

我的 XML 中有一个元素,但我不确定如何在 Nokogiri::XML::Builder 中生成它。

<ns0:SearchCondition expressionLanguage='String'expressionType='PartyNumber'>31955854</ns0:SearchCondition>

我试过了:

def test_xml
    builder = Nokogiri::XML::Builder.new do |xml|
    xml.root {
    xml.products {
      xml.widget {
        xml.id_ "10"
        xml.name "Awesome widget"
        xml.SearchCondition('expressionLanguage' => 'String', 'expressionType' => 'PartyNumber')
      }
    }
  }
end
puts builder.to_xml

这会产生以下内容

 <?xml version="1.0"?>
  <root>
   <products>
     <widget>
       <id>10</id>
       <name>Awesome widget</name>
       <SearchCondition expressionLanguage="String" expressionType="PartyNumber"/>
    </widget>
 </products>
</root>

但我不确定如何将值传递给 PartyNumber。

【问题讨论】:

  • sscce.org。您需要提供更多上下文。
  • 我刚刚编辑了它。如果你能帮助我,请告诉我。谢谢拉米亚

标签: ruby-on-rails ruby xml nokogiri


【解决方案1】:

不确定这是否是您所要求的,但您可以使用构建器text 方法在另一个内部创建文本元素:

xml.SearchCondition('expressionLanguage' => 'String', 'expressionType' => 'PartyNumber') {
  xml.text "31955854"
}

您没有在示例中使用命名空间,但您没有提到这一点,所以我想这不是问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-22
    • 2010-12-29
    • 1970-01-01
    • 2014-02-17
    • 1970-01-01
    • 2015-04-03
    • 1970-01-01
    相关资源
    最近更新 更多