[英]Preserve xml formatting using XmlDocument
我正在使用XmlDocument來處理xml
如何使用當前格式保存“XmlDocument”?
當前格式:
<?xml version="1.0" encoding="utf-8"?>
<root>
<element></element>
</root>
碼:
XmlDocument testDoc = new XmlDocument();
testDoc.Load(@"C:\Test.xml");
**(do reading/writing using only XmlDocument methods)**
testDoc.Save(@"C:\Test.xml");
有一個類似的主題: XmlDocument類正在刪除格式,c#,.NET
接受的答案是PreserveWhiteSpace = true,實際上刪除了所有空格而不是保留它們。
例:
碼:
XmlDocument testDoc = new XmlDocument();
testDoc.Load(@"C:\Test.xml");
testDoc.PreserveWhitespace = true;
testDoc.Save(@"C:\Test.xml");
結果:
<?xml version="1.0" encoding="utf-8"?><root><element></element></root>
將PreserveWhitespace
設置為true對我有用 - 但是您必須在加載之前執行此操作,以便在加載時不會丟棄空白:
using System;
using System.Xml;
class Test
{
static void Main()
{
XmlDocument testDoc = new XmlDocument();
testDoc.PreserveWhitespace = true;
testDoc.Load("Test.xml");
testDoc.Save("Output.xml");
}
}
我剛剛嘗試過,並保留了空白。
在加載之前使用preservewhitespace。 它將保持格式相同
like above
var xmlDoc = new XmlDocument();
xmlDoc.PreserveWhitespace = true;
xmlDoc.LoadXml(xmlStr);
如果您在加載后使用它。 它會殺死它們之間的空白區域
嗯。 使用PreserveWhiteSpace=true
時,我看到保留了空格。 你裝的時候可能是false
嗎?
var xmlStr = @"<?xml version=""1.0"" encoding=""utf-8""?>
<root>
<element></element>
</root>";
var xmlDoc = new XmlDocument();
xmlDoc.PreserveWhitespace = true;
xmlDoc.LoadXml(xmlStr);
xmlDoc.Save(Console.Out);
顯示:
<?xml version="1.0" encoding="utf-16"?>
<root>
<element></element>
</root>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.