无法更改 XmlWriter 的设置

本文关键字:设置 XmlWriter | 更新日期: 2023-09-27 18:34:54

我在使用XmlWriter类时遇到了一些问题。我使用 XmlWriter.Create(( 方法创建并实例化它,但是当我这样做时,它变成了 XmlWellFormedWriter 类型。我希望能够将 XML 片段写入文件,但当我尝试这样做时,我遇到了一个异常,告诉我将一致性级别设置为自动或片段。我尝试在实例化对象后更改设置:

XmlWriter writer = XmlWriter.Create(filepath);
writer.settings.ConformanceLevel = ConformanceLevel.Auto;

但是我遇到了一个异常,指出一致性级别是只读的,无法设置。

我还尝试创建设置并让我的 XmlWriter 固有地输入它们:

XmlWriterSettings settings = new XmlWriterSettings();
settings.ConformanceLevel = ConformanceLevel.Auto;
XmlWriter writer = XmlWriter.Create(filepath, settings);

但是创建的 XmlWriter 实例会用自己的设置覆盖我的设置,将一致性级别设置为"文档"。我该如何解决这个问题?我正在使用这个网站作为教程。

无法更改 XmlWriter 的设置

XmlWriter的行为就像它应该的那样。 ConformanceLevel.Auto指定 XML 编写器应根据传入数据确定一致性检查的级别。当您不知道生成的 XML 是格式正确的 XML 文档还是片段时,此设置非常有用。在您的情况下,它切换到 ConformanceLevel.Document .属性可用于检查特定的传入数据、ConformanceLevel.DocumentConformanceLevel.Fragment