带有换行符的C#Xml节点InnerText-如何写和读

本文关键字:何写 InnerText- 节点 换行符 C#Xml | 更新日期: 2023-09-27 18:28:19

我想使用c#中的XmlDocument对象将带换行符的备忘录文本存储在xml节点中。我可以通过简单的内部文本分配来写它。

它看起来像下面的

<CSScript>
    Line 1
    ...
    ...
    Line n
</CSScript>

但是,我读不懂,怎么办呢?

带有换行符的C#Xml节点InnerText-如何写和读

查看PreserveWhitespace属性。在.Load()您的XML数据之前,请将其设置为true,如下所示:

string filename = "C:''myxml.xml";
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.PreserveWhitespace = true;
xmlDoc.Load(filename);

同样,在调用.Save()之前,将其设置为true:

xmlDoc.SomethingNode.InnerText = "Line 1'r'n...'r'n....";
xmlDoc.PreserveWhitespace = true; // assuming it hasn't already been set to true
xmlDoc.Save(someFileLocation);

请注意,并不是所有的XML处理程序/查看器都会遵循这种行为——他们最终可能会将其视为(可能是错误的)无关紧要的空白,并根据文档的结构将其剥离(例如,如果您打开文档在浏览器中查看,MSIE可能会这样做,但实际上不会更改文本源)。还要注意,如果使用LINQ to XML,则可以使用LoadOptions.PreserveWhitespaceSaveOptions.DisableFormatting来获得类似的效果。