Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.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#_Xml_Dataset - Fatal编程技术网

C# 通过数据集读取XML

C# 通过数据集读取XML,c#,xml,dataset,C#,Xml,Dataset,我使用数据集读取xml文件,如下所示 数据集ds=新数据集; ds.ReadXmlC:\test.xml xml包含 <MasterEntities> <FieldInfo> <Name>OMID</Name> <Mandatory>Yes</Mandatory> <RangeName>AssumptOMID</RangeName> <DataType>

我使用数据集读取xml文件,如下所示 数据集ds=新数据集; ds.ReadXmlC:\test.xml

xml包含

<MasterEntities>
  <FieldInfo>
    <Name>OMID</Name>
    <Mandatory>Yes</Mandatory>
    <RangeName>AssumptOMID</RangeName>
    <DataType>int</DataType>
    <Length>10</Length>
  </FieldInfo>
  <FieldInfo>
    <Name>ClientName</Name>
    <Mandatory>Yes</Mandatory>
    <RangeName>AssumptClient</RangeName>
    <DataType>string</DataType>
    <Length>50</Length>
  </FieldInfo>
  <FieldInfo>
    <Name>OppName</Name>
    <Mandatory>Yes</Mandatory>
    <RangeName>AssumptProjectName</RangeName>
    <DataType>string</DataType>
    <Length>50</Length>
  </FieldInfo>

  <Settings>
    <somesetting1></somesetting1>
    <somesetting2></somesetting2>
  </Settings>
</MasterEntities>
现在我想读取一个数据集/数据表中的fieldInfo和另一个数据集/数据表中的设置


请帮助我编写代码

使用ReadXml将文件加载到单个数据集中。显示的XML将读入两个表:一个称为FieldInfo,另一个称为Settings

string fileName = @"C:\Temp\sample.xml";
DataSet ds = new DataSet();
ds.ReadXml(fileName);
要将第二个表移动到新的数据集中,可以执行以下操作

DataSet ds2 = new DataSet();
ds2.Tables.Add(ds.Tables[1].Copy()); // copy to second dataset
ds.Tables.RemoveAt(1); // remove the original table

这里有一个玩具应用程序,它可以做同样的事情,并以树的形式显示数据集中的表,以网格的形式显示表的内容。。。方便查看简单XML文件中的内容。。。


如果需要,请将源代码添加到VB.NET项目

XML数据非常全面,因为缺少标记。请将XML放在帖子的代码块中。