如何防止 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文档中,我只得到空格。但没有新行:/
有人知道吗?
尽管我已经在模板的字段属性中设置了允许多行。
实际上,
您使用

的行为与Environment.NewLine
的行为相同。您可以做一个简单的测试来确认这一点(将两个TextBoxes
添加到您的Form
,Multiline property
设置为 True
: textBox1
和 textBox2
):
textBox1.Text = element.ToString(); //

string text = element.ToString().Replace("
", Environment.NewLine);
textBox2.Text = text; ///r/n
另一方面,如果你无论如何都想避免

部分(例如:因为想要将给定的字符串输出到在 .NET 上不起作用的外部程序),你可以在处理XElement
和新行后依靠上述Replace
。