0

一連のXMLファイル(plists)にいくつかの単純な要素を追加しています。私が取り組んでいる既存の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

ロバート・クレムとアーロン・パターソンがルビートークリストの商品を思いついた。

私がSoFに投げかけた質問が完全な空白を描いたのはこれが初めてです。

于 2009-09-16T19:00:16.890 に答える