gpt4 book ai didi

c# - 在代码中从 XML 创建 XSD

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

我正在使用 MSDN 中的这段代码从 XML 创建 XSD

XmlReader reader = XmlReader.Create("contosoBooks.xml");
XmlSchemaSet schemaSet = new XmlSchemaSet();
XmlSchemaInference schema = new XmlSchemaInference();

schemaSet = schema.InferSchema(reader);

foreach (XmlSchema s in schemaSet.Schemas())
{
textbox.text = s.ToString();
}

我想根据我的 xml 文件输出 .xsd。当我生成 .xsd 文件时,我得到的唯一内容是:System.Xml.Schema.XmlSchema

当我使用 Visual Studio 选项生成 XSD 以创建架构时,它会正确显示。但是,我有超过 150 个 xml 文档需要创建 XSD,因此需要一个编程选项。谁能帮忙?

最佳答案

xsd.exe可以为所欲为:

If you specify an XML file (.xml extension), Xsd.exe infers a schema from the data in the file and produces an XSD schema. The output file has the same name as the XML file, but with the .xsd extension.

以下命令从 myFile.xml 生成 XML 架构并将其保存到指定目录。

xsd myFile.xml /outputdir:myOutputDir

您可以阅读更多相关信息 herehere

您可以像这样以编程方式尝试:

XmlReader reader = XmlReader.Create(@"yourxml.xml");
XmlSchemaSet schemaSet = new XmlSchemaSet();
XmlSchemaInference schema = new XmlSchemaInference();
schemaSet = schema.InferSchema(reader);

foreach (XmlSchema s in schemaSet.Schemas())
{
using (var stringWriter = new StringWriter())
{
using (var writer = XmlWriter.Create(stringWriter))
{
s.Write(writer);
}

textbox.text = stringWriter.ToString();
}
}

关于c# - 在代码中从 XML 创建 XSD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22835730/

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