0

我正在使用xml/mapping库,这是我生成 XML 的方式:

xml = user.save_to_xml
str = String.new
xml.write(str,2)

结果与我想要的有点不同。它生成带有小写字母的 XML 标记:

<user PK=...
 ...
</user>

但我需要标签以大写字母开头:

<User PK=...
 ...
</User>

如何使用大写字母强制生成?

4

1 回答 1

1

您可以像这样覆盖默认值root_element_name

User.root_element_name "User"

如果要修改所有类的默认值,则需要覆盖default_root_element_name定义为的方法:

# The default root element name for this class. Equals the class
# name, with all parent module names stripped, and with capital
# letters converted to lowercase and preceded by a dash;
# e.g. "Foo::Bar::MySampleClass" becomes "my-sample-class".
def default_root_element_name
  self.name.split('::')[-1].gsub(/^(.)/){$1.downcase}.gsub(/(.)([A-Z])/){$1+"-"+$2.downcase}
end
于 2013-03-05T16:10:55.447 回答