C# 将XML读入数据表

C# 将XML读入数据表,c#,xml,datatable,dataset,C#,Xml,Datatable,Dataset,我为WebRequest返回了以下XML: <DataSet> <xs:schema id="FoxProDataTable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> <xs:element name="FoxProDataTable" msdata:IsDataSet="true" msd

我为WebRequest返回了以下XML:

<DataSet>
    <xs:schema id="FoxProDataTable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
        <xs:element name="FoxProDataTable" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
            <xs:complexType>
                <xs:choice minOccurs="0" maxOccurs="unbounded">
                    <xs:element name="FoxProDataRow">
                        <xs:complexType>
                            <xs:sequence>

                                <xs:element name="d_alias" minOccurs="0">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:maxLength value="8" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>

                                <xs:element name="d_audit" type="xs:boolean" minOccurs="0" />

                                <xs:element name="d_auditkey" minOccurs="0">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:maxLength value="50" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                                . . .
                                . . .
                                <xs:element name="d_version" type="xs:decimal" minOccurs="0" />
                                <xs:element name="d_custom" type="xs:boolean" minOccurs="0" />
                            </xs:sequence>
                        </xs:complexType>
                    </xs:element>
                </xs:choice>
            </xs:complexType>
        </xs:element>
    </xs:schema>
    <diffgr:diffgram xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
        <FoxProDataTable>
            <FoxProDataRow diffgr:id="FoxProDataRow1" msdata:rowOrder="0">
                <d_alias>ADJ     </d_alias>
                <d_audit>false</d_audit>
                <d_auditkey xml:space="preserve">                                                  </d_auditkey>
                <d_auditon>false</d_auditon>
                <d_chadate xml:space="preserve">          </d_chadate>
                <d_convert xml:space="preserve">                                                            </d_convert>
                <d_create>ADJ     </d_create>
                <d_desc>Employer Quarter Adjustment                       </d_desc>
                <d_encrypt>true</d_encrypt>
                <d_file>PRQTRADJ</d_file>
                <d_key1>Company   </d_key1>
                <d_key2 xml:space="preserve">          </d_key2>
                <d_key3 xml:space="preserve">          </d_key3>
                <d_key4 xml:space="preserve">          </d_key4>
                <d_massup>false</d_massup>
                <d_msc>false</d_msc>
                <d_parent xml:space="preserve">          </d_parent>
                <d_prod>PR</d_prod>
                <d_recsize>0</d_recsize>
                <d_required>true</d_required>
                <d_type>R </d_type>
                <d_version>9.100100</d_version>
                <d_custom>false</d_custom>
            </FoxProDataRow>
        </FoxProDataTable>
    </diffgr:diffgram>
</DataSet>
当我检查_dataTable时,列与模式匹配:

但该行有以下内容:


如何将表中的数据放入表中?

我用保存在文件中的XML快速测试了这一点。。。。将XML加载到数据集中,并将其连接到dataGridView以查看数据

DataSet _dataSet = new DataSet();
_dataSet.ReadXml(@"<Path to your XML>");
dataGridView1.DataSource = _dataSet.Tables[0];
DataSet\u DataSet=new DataSet();
_dataSet.ReadXml(@“”);
dataGridView1.DataSource=_dataSet.Tables[0];

这很好,所有数据都在dataGridView中。。。希望这能有所帮助。

我的程序正在从GetResponseAsXml()返回一个XML字符串。将此字符串输入到XmlReader,然后再输入导致问题的数据集。不要忘记选择\up投票答案。。。。
DataSet _dataSet = new DataSet();
_dataSet.ReadXml(@"<Path to your XML>");
dataGridView1.DataSource = _dataSet.Tables[0];