Как использовать XmlWriter для написания не правильно сформированного XML
Во-первых, я не люблю это делать. Это не мой выбор.
Мне нужно записать информацию в документ XML. SimpleContent в xml может содержать & s. Я хочу, чтобы они были записаны в файл как просто &
не &
Как мне это сделать? Я предполагаю, что он включает 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
}
}
1 ответ
Решение
Пожалуйста, делайте это только в случае крайней необходимости; это не соответствует стандартам 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>