Chr*_*lor 3 ruby builder send nokogiri
我正在编写一个应用程序来生成XML文件作为SipP的输入.SipP经常使用的一个标签是"发送"
问题是,当我使用nokogiri为我构建xml时
builder = Nokogiri::XML::Builder.new do |xml|
xml.send "Some Content"
end
Run Code Online (Sandbox Code Playgroud)
我明白了
<?xml version="1.0"?>
<Some Content/>
Run Code Online (Sandbox Code Playgroud)
我这样做时也是如此:
builder = Nokogiri::XML::Builder.new do |xml|
xml.send(:'send', "Some Content")
end
Run Code Online (Sandbox Code Playgroud)
我不能用大写字母拼写'SEND',因为SipP不会那样理解它.
任何想法如何强制nokogiri创建一个名为'发送'的元素?谢谢
来自文档:
构建器通过利用method_missing来工作.不幸的是,一些方法在红宝石中定义,难以去除或有危险.例如,您可能想要创建名称为"type","class"和"id"的标签.在这种情况下,您可以使用下划线来消除方法调用中的标记名称的歧义.
请检查以下内容:
irb(main):007:0> Nokogiri::XML::Builder.new { |xml| xml.send_ "foo" }.to_xml
=> "<?xml version=\"1.0\"?>\n<send>foo</send>\n"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1248 次 |
| 最近记录: |