Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.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#.net中的xml文件创建类_C#_Xml_Visual Studio 2008 - Fatal编程技术网

从c#.net中的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"

我有一个结构如下的xml文件

<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。。对不起,我错过了“/”。但即使是它也显示出同样的错误