gpt4 book ai didi

.net - 从 XmlSchema .net 的输出中删除 docType 声明

转载 作者:数据小太阳 更新时间:2023-10-29 02:27:57 26 4
gpt4 key购买 nike

以下代码:

        XmlSchema xmlSchema = new XmlSchema();

XmlSchemaElement xmlSchemaElement = new XmlSchemaElement();
xmlSchemaElement.Name = "SomeElement";
xmlSchema.Items.Add(xmlSchemaElement);

XmlNamespaceManager xmlNamespaceManager = new XmlNamespaceManager(new NameTable());
xmlNamespaceManager.AddNamespace("xs", "http://www.w3.org/2001/XMLSchema");

StringWriter stringWriter = new StringWriter();
xmlSchema.Write(stringWriter, xmlNamespaceManager);

String result = stringWriter.ToString();

给我:

<?xml version="1.0" encoding="utf-16"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="SomeElement" />
</xs:schema>

我不需要 docType 声明。

显然我可以删除第一行。但是,有谁知道有什么方法可以阻止 XmlSchema 类首先编写 docType 声明吗?

最佳答案

不是直接写入您的 StringWriter,而是写入 XmlWriter。这样,您就可以设置特定的序列化选项。

StringWriter stringWriter = new StringWriter();

XmlWriterSettings settings = new XmlWriterSettings();
settings.OmitXmlDeclaration = true; // <-- this is what you care about
XmlWriter xmlWriter = XmlWriter.Create(stringWriter, settings);
xmlSchema.Write(xmlWriter, xmlNamespaceManager);

String result = stringWriter.ToString();

关于.net - 从 XmlSchema .net 的输出中删除 docType 声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4136460/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com