use*_*907 6 c# xml linq-to-xml carriage-return linefeed
我有一个xml字符串存储在db表中,带有换行符.在我的C#3.5程序中,我使用Linq加载和操作它到xml,然后在UI表单的文本框控件中将其显示为字符串.
我需要缩进这个xml,并在UI中显示它时保留换行符/回车符.
能缩进它但是如何在xml中保留LF/CR字符?
这是示例C#代码:
XElement rootNode = CreateRootNode();
XElement testXmlNode = XElement.Parse(xmlFromDbWithLFChars);
rootNode.Add(testXmlNode );
var builder = new StringBuilder();
var settings = new XmlWriterSettings()
{
Indent = true
};
using (var writer = XmlWriter.Create(builder, settings))
{
rootNode.WriteTo(writer);
}
xmlString = builder.ToString();
xmlString = xmlString.Replace("
", Environment.NewLine); //Doesnt work
xmlString = xmlString.Replace("
", Environment.NewLine); //Doesnt work
//Heres how the xml should look like in the UI control:
<TestNode
name="xyz"
Id="12">
<Children>
<Child name="abc" location="p" />
</Children>
</TestNode>
Run Code Online (Sandbox Code Playgroud)
您想要做的是在 XmlWriter 上设置格式设置,因此更改您的行:
var settings = new XmlWriterSettings()
{
Indent = true
};
Run Code Online (Sandbox Code Playgroud)
对于这样的事情:
var settings = new XmlWriterSettings()
{
Indent = true,
IndentChars = "\n",
NewLineOnAttributes = true
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2857 次 |
| 最近记录: |