从c#.net中的xml文件创建类
我有一个结构如下的xml文件从c#.net中的xml文件创建类,c#,xml,visual-studio-2008,C#,Xml,Visual Studio 2008,我有一个结构如下的xml文件 <TestClass> <TestChildClass> <TestName Name="sample"> <Table Name="table1" IdentityColumnName="RollNo" IntColumn="Mark" CharColumn="Name" > <Table Name="table2" IdentityColumnName="RollNo"
<TestClass>
<TestChildClass>
<TestName Name="sample">
<Table Name="table1" IdentityColumnName="RollNo" IntColumn="Mark" CharColumn="Name" >
<Table Name="table2" IdentityColumnName="RollNo" IntColumn="SubjectCode" CharColumn="Subject" ReferenceColumn ="RollNo" >
<Table Name="table3" IdentityColumnName="RollNo" IntColumn="Average" CharColumn="Subject" ReferenceColumn ="SubjectCode"/>
</Table>
<Table Name="table4" IdentityColumnName="RollNo" IntColumn="Rank" CharColumn="Name" />
</Table >
</TestName >
</TestChildClass>
</TestClass>
我已经使用XSD.EXE为上述xml创建了一个类。但问题是,当我尝试为名为TestClass.cs的新类创建对象时,其抛出错误类似于“同一个表'table'不能是两个嵌套关系中的子表”。如何解决此问题?您的XML无效,您需要删除行并确保关闭Table1的节点
<TestClass>
<TestChildClass>
<TestName Name="sample">
<Table Name="table1" IdentityColumnName="RollNo" IntColumn="Mark" CharColumn="Name" >
<Table Name="table2" IdentityColumnName="RollNo" IntColumn="SubjectCode" CharColumn="Subject" ReferenceColumn ="RollNo" >
<Table Name="table3" IdentityColumnName="RollNo" IntColumn="Average" CharColumn="Subject" ReferenceColumn ="SubjectCode"/>
</Table>
<Table Name="table4" IdentityColumnName="RollNo" IntColumn="Rank" CharColumn="Name" />
</Table >
</TestName >
</TestChildClass>
</TestClass>
这不是XSD文件,您无法从中生成类,因为您无法从一个示例XML文件中确定定义的所有内容。如果您知道所有详细信息,您可以手动编写相应的类。但是我们可以使用xsd.exe从xml创建xsd文件,对吗?从xsd命令行:。要从中推断xsd架构的xml文件的xml名称。
ya。。我创建了这些类。当我尝试为所创建的类创建实例时,它会显示错误您的XML无效…但是Table2是table1的子表。表3是表2的子表。表4是表1的子表。仅此而已,我添加了这样的xml。然后您需要删除表1和表2末尾的/>
,并将它们替换为
。这将使XML格式良好,但它仍然可能无法生成XSD类。。这就是我在问题中补充的内容。请检查它的格式仍然不正确,您没有关闭TestChildClass或TestClassoh。。对不起,我错过了“/”。但即使是它也显示出同样的错误