我正在嘗試使用Nokogiri構建XML文檔。一些元素在其中有連字符。這裏有一個例子:如何用元素名稱中的連字符使用Nokogiri :: XML :: Builder創建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 bar
。
我該怎麼做?
哪裏了招呼進來? xml.send(:「foo-bar」,「hello」)? – Angela 2010-05-31 02:10:26
它在官方的Nokogiri文檔中有記載嗎?你能分享一個鏈接嗎? – yegor256 2014-08-06 14:33:04
@ yegor256在這裏你去:http://www.rubydoc.info/github/sparklemotion/nokogiri/Nokogiri/XML/Builder – bonh 2014-10-24 13:11:49