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

时间:2013-09-09 07:47:31

标签: c# xml ms-word

我这里有一个小代码:

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就像我使用时一样这个带有Microsoft Word文档模板的XML,新的行没有实现,虽然它是多行文本,在word文档中我只获取空格。但没有新的界限:/

任何人都有任何想法?

虽然我已经在模板中设置了允许多行int属性字段。

1 个答案:

答案 0 :(得分:11)

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

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

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

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