我正在尝试使用Nokogiri构建一个XML文档。其中一些元素中有连字符。以下是一个例子:
- require "nokogiri"
- builder = Nokogiri::XML::Builder.new do |xml|
- xml.foo_bar "hello"
- end
- puts builder.to_xml
哪个产生:
- <?xml version="1.0"?>
- <foo_bar>hello</foo_bar>
但是,当我尝试:
- builder = Nokogiri::XML::Builder.new do |xml|
- xml.foo-bar "hello"
- end
我得到:
- Syntax error,unexpected tSTRING_BEG,expecting kDO or '{' or '('
- xml.foo-bar "hello"
现在我意识到这是因为连字符被解释为foo MINUS吧。
我该怎么办?
干得好:
- require 'nokogiri'
- b = Nokogiri::XML::Builder.new do |xml|
- xml.send(:"fooo-bar","hello")
- end
- puts b.to_xml