Builder :: XmlMarkup / Nokogiri:在单词之间创建带空格的元素

时间:2014-09-19 14:40:33

标签: ruby-on-rails ruby xml nokogiri

我必须向外部服务发出XML请求,并且此服务需要发送元素:

 <foo bar></foo bar>

我正在使用Builder :: XmlMarkup和ruby 1.8.7以及rails 3.0.20。是否可以使用Builder :: XmlMarkup或Nokogiri创建这种元素?

1 个答案:

答案 0 :(得分:1)

我相信你必须强调它们,例如

<foo_bar></foo_bar>

XML期望元素名称是单个字符串。所以你的例子违反了这种语法。

从w3:

XML Naming Rules
XML elements must follow these naming rules:
Names can contain letters, numbers, and other characters
Names cannot start with a number or punctuation character
Names cannot start with the letters xml (or XML, or Xml, etc)
Names cannot contain spaces

Any name can be used, no words are reserved.

如果第二项是属性,那么您可以使用类似

的内容
<foo bar="baz"></foo>