C# 使用xsd.exe时,我应该选择哪个文件选项,为什么?
我从第三方供应商处收到了一个xsd文件,用于我们目前收到的一些XML文件。为了处理这些文件,我使用C# 使用xsd.exe时,我应该选择哪个文件选项,为什么?,c#,xml,xsd.exe,C#,Xml,Xsd.exe,我从第三方供应商处收到了一个xsd文件,用于我们目前收到的一些XML文件。为了处理这些文件,我使用xsd.exe生成了我的类。我看到有两个可用的命令行选项,即: /c[lasses]和 /d[ataset] 我的问题充其量也就是说,我应该选择哪一个选项,为什么 附言: 我已经尝试了这两种方法,但是,目前,/d选项会导致一些关于嵌套表的错误。/c选项确实适用于我,尽管它需要大量数据映射到我的域对象。我认为/d将为您提供一个数据集来处理XML的数据。 /c将生成处理数据所需的类 现在,这是您的选
xsd.exe
生成了我的类。我看到有两个可用的命令行选项,即:
和/c[lasses]
/d[ataset]
我已经尝试了这两种方法,但是,目前,
/d
选项会导致一些关于嵌套表的错误。/c
选项确实适用于我,尽管它需要大量数据映射到我的域对象。我认为/d将为您提供一个数据集来处理XML的数据。
/c将生成处理数据所需的类
现在,这是您的选择,您需要将两个选项的数据映射到域对象,imho。我建议选择“c”选项,因为数据集是有害的。纯粹的邪恶。使用
/c
。数据集
是关系数据库的内存表示形式。并非所有XML模式文件都映射到关系数据库模型。您收到的错误消息无疑是因为您的模式无法映射到关系模型
/c
将生成可以使用XmlSerializer
从XML文件加载或保存到XML文件的类。您指的是什么“日期”?是的,我知道每个选项将为我提供什么。我的问题与选择哪个选项有关。对不起,我的意思是。。。数据。哪种选择取决于你。我更喜欢使用这个选项来创建类,因为我有更多的控制权。在我的例子中,因为xml文件与任何关系模型都不接近,所以/c
会是更好的选择吗?但是,为了将来的参考,为了清楚起见,我正确地说,如果xml数据本质上是“关系型”的,请使用/d
,否则请使用/c
,在您的情况下,/c
是唯一的选项。当我说“关系”时,我指的是正式意义上的。例如,严格的父/子/孙。不能有两个不同父母的孩子一样的“孙子”。