如何防止 xml 将 /r/n 转换为 


本文关键字:amp #xD #xA xml 何防止 转换 | 更新日期: 2023-09-27 18:30:35

我这里有一个小代码:

string attributeValue = "Hello" + Environment.NewLine + " Hello 2";
XElement element = new XElement("test");
XElement subElement = new XElement("subTest");
XAttribute attribute = new XAttribute("key", "Hello");
XAttribute attribute2 = new XAttribute("key2", attributeValue);
subElement.Add(attribute);
subElement.Add(attribute2);
element.Add(subElement);
Console.Write(element.ToString());
Console.ReadLine();

我有一个问题,基本上/r/n 或换行符在属性中
转换,但我不想拥有它,我想保留它/r/n,因为当我将此 XML 与 Microsoft Word 文档模板一起使用时,新行没有实现,尽管它是多行文本, 在word文档中,我只得到空格。但没有新行:/

有人知道吗?

尽管我已经在模板的字段属性中设置了允许多行。

如何防止 xml 将 /r/n 转换为 


实际上,

您使用
的行为与Environment.NewLine的行为相同。您可以做一个简单的测试来确认这一点(将两个TextBoxes添加到您的FormMultiline property设置为 TruetextBox1textBox2 ):

textBox1.Text = element.ToString(); //

string text = element.ToString().Replace("
", Environment.NewLine);
textBox2.Text = text; ///r/n

另一方面,如果你无论如何都想避免
部分(例如:因为想要将给定的字符串输出到在 .NET 上不起作用的外部程序),你可以在处理XElement和新行后依靠上述Replace