我爲一堆XML文件(plists)添加了一些簡單的元素。我的工作在現有的XML元素看起來是這樣的:如何在添加的元素上控制REXML格式?
<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:
tmtheme.write($stdout)
也試過
tmtheme.write($stdout, 2)
但是,這些不會返回所需的結果。以下看起來很有希望:
tmtheme.write($stdout, 2, true)
但是,這給了我一個known error。更新:剛剛在Ruby 1.9上試過了,雖然我沒有得到錯誤,但它並沒有幫助 - 我仍然可以看到上面示例中的格式。
誰能告訴我如何格式化XML,使其符合文檔其餘部分的格式化風格?它不一定需要用REXML來完成。
你看過REXML :: Formatters :: Pretty嗎?但請注意,它可能會在您的 s和 s中添加一些不需要的空白。 –
Inshallah
2009-09-13 15:30:54
你是如何編寫XML的? – 2009-09-13 15:49:56
感謝您的查詢 - 我更新了這個問題。 – 2009-09-13 18:32:07