使用XmlWriterSettings或XmlWriter设置quote char

时间:2017-11-10 14:48:43

标签: c# xml

我目前有一些直接实例化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课程中设置引号字符的解决方案。与我要求做的完全相反。

2 个答案:

答案 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 = '\'';