首先,我不喜欢这样做。这不是我的选择。
我需要将信息写入 xml 文档。 xml 的 simpleContent 可能包含 &。我希望这些以 &
的形式写入文件,而不是 &
我该怎么做?我猜它包括一个 StreamWriter 之类的东西:
private void SaveCaption_Click(object sender, EventArgs e)
{
if (saveCaptionDialog.ShowDialog() == DialogResult.OK)
{
using (StreamWriter writer = new StreamWriter(saveCaptionDialog.FileName, null))
{
using (XmlWriter xmlWriter = XmlWriter.Create(writer))
{
xmlWriter.Formatting = Formatting.Indented;
xmlWriter.Indentation = 4;
xmlWriter.WriteStartDocument();
xmlWriter.WriteStartElement("tt");
...
xmlWriter.WriteEndElement();
xmlWriter.WriteEndDocument();
}
}
//streamWriter do your thing
}
}
最佳答案
仅在绝对必要时才执行此操作;这不是符合标准的 XML。
只有您才能防止 XML 火灾。
使用WriteRaw()
方法:
XmlWriter writer;
writer = XmlWriter.Create( @"C:\users\account\desktop\test.xml" );
writer.WriteStartDocument();
writer.WriteStartElement( "TestElement" );
writer.WriteRaw( "Hello & goodbye" );
writer.WriteEndElement();
writer.WriteEndDocument();
writer.Flush();
writer.Close();
生成输出:
<?xml version="1.0" encoding="utf-8"?><TestElement>Hello & goodbye</TestElement>
关于c# - 如何使用 XmlWriter 编写格式不正确的 xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24498929/