我这里有一个小代码:
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属性字段。
答案 0 :(得分:11)
实际上

使用的行为与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上运行的外部程序),你可以依赖于在处理Replace
和新行之后,上述XElement
。