0

我的 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。

4

1 回答 1

0

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

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

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

于 2013-07-17T00:11:10.263 回答