Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将XML转换为数据集_C#_.net_Wcf Client - Fatal编程技术网

C# 将XML转换为数据集

C# 将XML转换为数据集,c#,.net,wcf-client,C#,.net,Wcf Client,我有一个.NETWebForms应用程序,它使用来自WCF/RESTWeb服务的数据。大多数时候,我们使用共享类来来回传递数据,这很有效 但是,有时我们需要在Datagrid或类似的.NET控件中显示这些数据,最方便的方法是通过数据集。我知道我们可以使用dataset.ReadXML(myXML,XmlReadMode.InferTypedSchema)方法将XML读入数据集,这已经很好地工作了 不过,有时候,InferTypedSchema会推断出错误的数据类型。例如,它将决定邮政编码是整数,

我有一个.NETWebForms应用程序,它使用来自WCF/RESTWeb服务的数据。大多数时候,我们使用共享类来来回传递数据,这很有效

但是,有时我们需要在Datagrid或类似的.NET控件中显示这些数据,最方便的方法是通过数据集。我知道我们可以使用dataset.ReadXML(myXML,XmlReadMode.InferTypedSchema)方法将XML读入数据集,这已经很好地工作了

不过,有时候,InferTypedSchema会推断出错误的数据类型。例如,它将决定邮政编码是整数,而不是字符串


我有什么选择?我知道我可以手动定义数据集模式,但如果可能的话,我希望避免这样做。web服务会自动生成一个.xsd(即,自动生成的响应/模式URL)-有没有办法告诉Dataset.ReadXML使用它?或者有更好的方法吗?

如果您提前知道您的XSD,您可以从中生成一个类文件,然后调整它以确保您拥有正确的数据类型(邮政编码字符串)


创建类文件后,您可以使用将XML转换为类。

如果您提前知道XSD,可以从中生成类文件,然后调整它以确保您具有正确的数据类型(用于邮政编码的字符串)


创建类文件后,您可以使用将XML转换为类。

我知道您不仅可以向数据集提供数据,还可以向模式提供数据,例如

dataSet.ReadXmlSchema(new System.IO.StreamReader("schema.xsd"));

因此,如果您有xsd,就可以了。

我知道您不仅可以使用数据,还可以使用模式,比如

dataSet.ReadXmlSchema(new System.IO.StreamReader("schema.xsd"));

因此,如果您有xsd就可以了。

有没有一种方法可以指向在线xsd而不是从文件中读取它?如果接口发生变化,我希望避免必须重新生成模式。有没有一种方法可以指向在线XSD而不是从文件中读取它?如果接口发生变化,我希望避免必须重新生成模式。我有类,这不是问题。我需要的是一个数据集。我有类,这不是问题。我需要的是一个数据集。