我目前有一些直接实例化XmlTextWriter
对象的代码,这允许我将引号char设置为单引号(我需要它来生成XML以匹配遗留系统)。 EG
var fred = new XmlTextWriter(stream, encoding);
fred.QuoteChar = '\'';
但是在Microsoft的XmlTextWriter class文档中,他们声明:
从.NET Framework 2.0开始,我们建议您创建 XmlWriter实例使用XmlWriter.Create方法和 XmlWriterSettings类以利用新功能。
XmlWriterSettings Class允许您设置各种属性,但引号字符不是其中之一,XmlWriter
类不会像XmlTextWriter
那样公开引号字符。< / p>
我想转移到XmlWriter
,因为它也解决了我用XmlTextWriter
难以解决的缩进问题,但我仍然需要设置引号字符。
如何在XmlWriter
类中设置引号字符?
从技术上讲,这是列出的问题Can one force XMLWriter to write elements in single quotes?的副本。但是,如果您按照唯一答案中的链接进行操作,则可以获得在XmlTextWriter
课程中设置引号字符的解决方案。与我要求做的完全相反。
答案 0 :(得分:1)
根据Jeroen的评论,您无法像XmlWriter
类一样在XmlTextWriter
类中明确设置引号字符。
幸运的是,我想出了如何说服XmlTextWriter
创建我想要的XML格式。
答案 1 :(得分:-1)
msdn网站有时令人困惑。使用以下:
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
XmlTextWriter writer = (XmlTextWriter)XmlWriter.Create("", settings);
writer.QuoteChar = '\'';