C# 使用XML模式中的信息,使用数据集创建XML文件

C# 使用XML模式中的信息,使用数据集创建XML文件,c#,.net,asp.net,xml,xsd,C#,.net,Asp.net,Xml,Xsd,我一直在考虑使用数据集中的数据并根据XML模式的规则创建XML文件的最佳方法 我已经四处搜索了一段时间,但没有找到一种方法,只从数据集中获取数据并将其放入XML标记中,标记由已经存在的模式定义 所以可能是这样的: 1-创建数据集并用数据填充其行。 2-根据XML模式规则创建XML。 3-用数据集中的数据填充所述XML文件,以便数据取自数据集,而XML文件的结构取自XML模式。如果您只有一个模式,那么最简单的方法就是使用强类型数据集。还可以将XML模式动态绑定到数据集的模式。我认为唯一的诀窍是您需

我一直在考虑使用数据集中的数据并根据XML模式的规则创建XML文件的最佳方法

我已经四处搜索了一段时间,但没有找到一种方法,只从数据集中获取数据并将其放入XML标记中,标记由已经存在的模式定义

所以可能是这样的: 1-创建数据集并用数据填充其行。 2-根据XML模式规则创建XML。
3-用数据集中的数据填充所述XML文件,以便数据取自数据集,而XML文件的结构取自XML模式。如果您只有一个模式,那么最简单的方法就是使用强类型数据集。还可以将XML模式动态绑定到数据集的模式。我认为唯一的诀窍是您需要在加载数据之前加载模式。如果这是一个问题,那么使用加载的模式创建一个辅助数据集,并复制数据

var dataSet = new DataSet();
dataSet.ReadXmlSchema(new StringReader(@"schema goes here or something"));

我完全没有抓住你问题的重点吗?

你可以使用dataset writexml方法或writexmlschema方法。更多信息可以在MSDN

@Max中找到:这将起作用,具体取决于模式。DataSet不支持所有架构构造或所有架构。谢谢,答案是正确的。(我问了一会儿就解决了我的问题)@John:这并不奇怪。另一方面,xsd不支持所有模式构造…;)@MaxGuernseylll,如果xml文件中有多个表,并且我想按文件化条件只读取数据集中的一个表,那么我该怎么办?@Harikrishna:我不是100%确定。我认为有一个转换XML读取器,它接受XSLT和底层读取器。我可能会创建一个只选择所需数据的XSLT,并将其绑定到XSLT转换读取器中,这样数据集就不会看到您不需要的表的XML。