我正在尝试使用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