C# 将.NET XMLWriter与XSD一起使用

C# 将.NET XMLWriter与XSD一起使用,c#,.net,xml,xsd,xmlwriter,C#,.net,Xml,Xsd,Xmlwriter,我的任务是用C#编写一个复杂的XML文件(我有XML模式XSD),根据具体情况,这个文件可能很大。我想实现流式处理,因为文件可能很大,所以看起来最好的选择是使用XMLWriter。在我开始扩展XMLWriter类并编写一系列自定义代码之前,我想知道是否有可能以某种方式利用我现有的XML模式?我知道我可以使用VisualStudio中的XMLSchema定义工具将模式转换为C#对象,但我不知道这是否可以用于XMLWriter。我以前曾将XML模式转换为C#对象,并使用XMLSerializer对其

我的任务是用C#编写一个复杂的XML文件(我有XML模式XSD),根据具体情况,这个文件可能很大。我想实现流式处理,因为文件可能很大,所以看起来最好的选择是使用XMLWriter。在我开始扩展XMLWriter类并编写一系列自定义代码之前,我想知道是否有可能以某种方式利用我现有的XML模式?我知道我可以使用VisualStudio中的XMLSchema定义工具将模式转换为C#对象,但我不知道这是否可以用于XMLWriter。我以前曾将XML模式转换为C#对象,并使用XMLSerializer对其进行序列化,但没有使用XMLWriter。

请参阅从XML模式生成XML文档

摘要:Priya Lakshminarayanan演示了如何使用Microsoft.NET Framework的System.XML.Schema命名空间中的类来构建一个工具,该工具生成符合给定架构的示例XML文档

在VisualStudioSchemaExplorer中,您可以从模式中的任何元素定义生成实例文档。本文公开了实现这一点的底层代码。我应该注意,Altova的XMLSpy有一个更灵活的工具用于从模式生成实例,允许您设置有关深度、重复和生成的文本值的各种参数


我使用本文中包含的XMLGenerator代码创建了一个类,该类根据我的模式为我们定义的20种类型的文档生成新的XML文档实例。我在我的模式中添加了一些提示,作为我自己的名称空间中的属性,以帮助XMLGenerator生成带有一些默认文本的最小有效文档,从而帮助用户开始使用新文档。因此,您可以使用XmlGenerator做很多事情。

当链接到资源以获取答案时,总结相关内容非常有用。这有助于获得更好的答案(更容易阅读并立即获得信息),如果远程站点不可用,信息仍然存在。这很有意义,我以后会这样做。这是我第一次尝试回答StackOverflow问题,所以我很高兴能得到帮助。