Luk*_*ler 6 xml namespaces builder
我试图使用构建器gem在Ruby on Rails应用程序中构建此示例:
<?xml version="1.0" encoding="utf-8"?>
<ngp:contactGet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ngp="http://www.ngpsoftware.com/ngpapi">
<campaignID>1033</campaignID>
<contactID>199434</contactID>
</ngp:contactGet>
Run Code Online (Sandbox Code Playgroud)
我可以生成带有命名空间的标记,如下所示:
xml = Builder::XmlMarkup.new
xml.ngp :contactGet
Run Code Online (Sandbox Code Playgroud)
...但我无法在该标签内获取属性.
我想是的
xml.ngp :contactGet("xmlns:xsi" => "http://www.w3.org/2001/XMLSchema-instance" "xmlns:ngp" =>"http://www.ngpsoftware.com/ngpapi"
Run Code Online (Sandbox Code Playgroud)
会工作,但事实并非如此.
请帮忙!
弄清楚了:
xml.tag!('gp:contactGet', {"xmlns:xsi"=>"http://www.w3.org/2001/XMLSchema-instance", "xmlns:ngp"=>"http://www.ngpsoftware.com/ngpapi"}) do
xml.campaignID("1033")
xml.contactID("199434")
end
Run Code Online (Sandbox Code Playgroud)
生产...
<?xml version="1.0" encoding="UTF-8"?>
<gp:contactGet xmlns:ngp="http://www.ngpsoftware.com/ngpapi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<campaignID>1033</campaignID>
<contactID>199434</contactID>
</gp:contactGet><to_s/>
Run Code Online (Sandbox Code Playgroud)