我是在一组XML文件(plist)中添加一些简单元素。我正在处理的现有XML元素如下所示:
<dict>
<key>background</key>
<string>#FFFFFF</string>
<key>caret</key>
<string>#000000</string>
<key>foreground</key>
<string>#000000</string>
<key>invisibles</key>
<string>#BFBFBF</string>
<key>lineHighlight</key>
<string>#00000012</string>
<key>selection</key>
<string>#BAD6FD</string>
</dict>
我在一个名为
settings
我正在添加新的
<key>
和
<string>
元素,并向这些元素添加一些文本。简单到目前为止:
settings.add_element('key').add_text('gutter')
settings.add_element('string').add_text('#282828')
问题是,当我把这个写出来时,XML看起来像这样(注意最后一行):
<dict>
<key>background</key>
<string>#FFFFFF</string>
<key>caret</key>
<string>#000000</string>
<key>foreground</key>
<string>#000000</string>
<key>invisibles</key>
<string>#BFBFBF</string>
<key>lineHighlight</key>
<string>#00000012</string>
<key>selection</key>
<string>#BAD6FD</string>
<key>gutter</key><string>#282828</string></dict>
我正在使用
write (REXML::Document)
编写XML的方法(目前为$stdout):
tmtheme.write( $stdout )
也试过
tmtheme.write( $stdout, 2 )
但这些并不能返回期望的结果。以下看起来很有希望:
tmtheme.write( $stdout, 2, true )
但这给了我一个
known error
.更新:刚在Ruby1.9上尝试过,虽然我没有得到erro,但它没有帮助-我仍然得到上面示例中所示的格式。
有人能告诉我如何格式化XML,使其符合文档其余部分的格式化样式吗?不一定要用rexml来完成。