目前我正在 XmlDocument 中编写 XHTML。这很完美,但我遇到了一个问题。某些 XmlText 元素可以包含诸如 之类的内容。当我想将此类内容写入流时,它使用 innerXML 而不是此类节点的 innerText 值。问题是输出是错误的,因为现在它正在输出 而不是 。在写入流时如何在不执行此类转义的情况下使用 xmlwriter 和 xmldocument?我只想要未转义的输出。
最佳答案
如果您使用 XmlWriter.WriteRaw
,它不会执行任何转义 - 它假定您有原始 XML。
例如:
using System;
using System.Xml;
class Test
{
static void Main()
{
using (XmlWriter writer = XmlWriter.Create(Console.Out))
{
writer.WriteStartDocument();
writer.WriteStartElement("root");
writer.WriteRaw("<element> </element>");
writer.WriteEndElement();
writer.WriteEndDocument();
}
}
}
输出:
<?xml version="1.0" encoding="IBM437"?><root><element> </element></root>
关于c# - 在 C# 中编写未转义的 XMLDocument,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1402387/