作爲我的安裝過程的一部分,我更新了我的app.config文件中的一些值, 該文件是以幫助用戶讀取值的方式構建和縮進的。 它是按部分構建的,每個部分都是一個XElement,每個值都是一個XAttribute。在C#中保留編輯的XML文件的縮進
這是部分樣本:
<DataAccessSection
DataMappingFile = "Data\Mapping.xml"
SchemaKeyWord = "[generated]"
/>
<ServiceManagementSection
ServerName = "dummy"
ServerIP = "1.0.0.0"
Port = "1"
/>
我使用一個XDocument編輯文件,訪問部分的的XElement和改變XAttribute的值,然後保存更改使用xDocument.Save(fullpath);
保存文件後,配置文件的結構是這樣的:
<DataAccessSection DataMappingFile="Data\Mapping.xml" SchemaKeyWord="[generated]" />
<ServiceManagementSection ServerName="dummy" ServerIP="1.0.0.0" Port="1" />
這個結構是不太清楚的用戶,我該怎麼辦將文件保留在初始結構中並只更改值而不是縮進?
我可以打開並編輯它爲一個簡單的文本文件,但當我擁有結構化XML文件的力量時,它像一個文本文件一樣訪問它似乎很愚蠢。編輯: 感謝您的回答。
我嘗試了答案中的解決方案,但它不斷移除我的空格和縮進。 我也嘗試使用加載:
XDocument.Load(fullPath, LoadOptions.PreserveWhiteSpaces);
但它不解決我的問題。 保留所有空格的唯一方法是將其作爲文本文件加載,並使用字符串操作進行編輯,但我不想那樣做。
有沒有人有不同的方法可以解決這個問題?
也許使用不同的包進行XML編輯?