在使用TXMLDocument解析XML文檔的時候,若希望保存之後的文檔看起來漂亮點,在Options屬性中增加doNodeAutoIndent即可。
但這樣操作的文檔,單純讀取和保存沒有問題。可如果還會編輯,且編輯之後不保存直接調用其中元素的話,就需要注意了。
因為格式化增加了換行和空格等字符,在修改後的節點再次讀取節點數量時,ChildNodes.Count會將這些多余出來的字符,也解析進去,目前比較好的辦法是通過NodeType進行判斷之後,再確認那個節點是有效節點,導致代碼工作量增加非常大,而且一個不小心,就是讀錯。
當然,如果是讀取出數據之後,不直接使用TXMLDocument直接記錄結果,而是使用其他控件記錄,保存時再一次性寫入的話,是不會有這個問題的。
所以,綜上所述,doNodeAutoIndent選項,需要慎用!