我有一個XML文件,最初使用空格縮進格式(每個嵌套項目爲2個空格)。IXMLDocument.SaveToFile()使用製表符而不是空格
當我使用IXMLDocument加載並保存此文件時,空格縮進正在更改爲製表符(代碼#9)。
下面是代碼:
var
FileName: String;
Document: IXMLDocument;
...
Document := XMLDoc.LoadXMLDocument(FileName);
Document.SaveToFile(FileName);
我試圖用NodeIndentStr
財產 - 沒有結果:
Document := XMLDoc.LoadXMLDocument(FileName);
Document.NodeIndentStr := ' ';
Document.SaveToFile(FileName);
使用FormatXMLData
太多 - 沒有結果:
Document := XMLDoc.LoadXMLDocument(FileName);
Document.XML.Text := XMLDoc.FormatXMLData(Document.XML.Text);
Document.Active := True;
Document.SaveToFile(FileName);
我怎麼能用空格縮進而不是製表符保存?
你可能想看看這篇文章由扎克Gajic,[德爾福格式的XML節點縮進(http://delphi.about.com/od/delphitips2009 /qt/delphi-format-xml-node-indent.htm)。提供的解決方案使用'xmlDoc.FormatXMLData'格式化文件。 – 2012-04-18 07:55:54
@LURD嘗試 - 沒有結果:( – Andrew 2012-04-18 08:00:15
我看到現在的問題在哪裏,'FormatXMLData'沒有機會知道你使用了什麼'NodeIndentStr',因爲你將一個字符串傳遞給該函數,因此它使用默認的TAB char。 – TLama 2012-04-18 08:17:08