C# .NET XML输出丢失换行符

C# .NET XML输出丢失换行符,c#,xml,C#,Xml,我正在尝试向现有XML文档添加注释。当在XML阅读器(我使用记事本++)中打开文档时,它的格式是完美的。然而,当我运行代码时,只需在顶部添加注释,XML就会显示为一条长线。换句话说,所有换行符都已删除。如何维护换行符 XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(doc.Uri); //This is where I add comments to a string xmlDoc.DocumentElement.PrependChil

我正在尝试向现有XML文档添加注释。当在XML阅读器(我使用记事本++)中打开文档时,它的格式是完美的。然而,当我运行代码时,只需在顶部添加注释,XML就会显示为一条长线。换句话说,所有换行符都已删除。如何维护换行符

XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(doc.Uri);

//This is where I add comments to a string

xmlDoc.DocumentElement.PrependChild(enrichedDoc.CreateComment(comments));

return xmlDoc;
您正在寻找该物业:

xmlDoc.PreserveWhitespace = true;

这应该就够了。

我想你是说换行,而不是换页。该死!你说得对,我的意思是换行。编辑…顺便提一下,如果您想在某些元素中保留空白,但在其他元素中不保留空白,该怎么办?当然应该有一个属性吗?@Tom W:你能提供一个你需要的案例吗?我很难想象你的目标是什么。任何存储逐字记录文本的应用程序都应该与正常行为同时出现。我会把你的问题转过来问:在什么情况下,在特定元素中存储逐字文本的需要会改变整个文档的行为?@Tom W:我认为,如果你想在某些元素中保留格式,而不是在其他元素中保留格式,你应该在要保留格式的元素中使用CDATA节点。
xmlDoc.PreserveWhitespace = true;