0

我正在向一堆 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 )

但这给了我一个已知的错误。更新:刚刚在 Ruby 1.9 上尝试过,虽然我没有得到错误,但它没有帮助 - 我仍然得到如上例所示的格式。

谁能告诉我如何格式化 XML 以使其符合文档其余部分的格式化样式?不一定需要使用 REXML 来完成。

4

1 回答 1

3

Robert Klemme 和 Aaron Patterson提出了ruby​​-talk 清单上的商品。

这是我在 SoF 上提出的问题第一次完全空白。

于 2009-09-16T19:00:16.890 回答