C# 如何将xml文件绑定到Gridview

C# 如何将xml文件绑定到Gridview,c#,asp.net,xml,C#,Asp.net,Xml,我有Xml文件..我想将此Xml数据绑定到gridview 我的档案: <ExtPageList> <version>E36M3P6</version> <resultCode>0</resultCode> <resultStr>Success</resultStr> <objects> <ProcessStatus process="monitor">

我有Xml文件..我想将此Xml数据绑定到gridview

我的档案:

<ExtPageList>
  <version>E36M3P6</version>
  <resultCode>0</resultCode>
  <resultStr>Success</resultStr>
  <objects>
    <ProcessStatus process="monitor">
      <id>6062</id>
      <condition>running</condition>
      <runLevel>7</runLevel>
      <state>sleeping</state>
      <starts>1</starts>
      <uptime>P3DT13H2M37S</uptime>
      <fds>21</fds>
    </ProcessStatus>
  </objects>
  <objects>
    <ProcessStatus process="manager">
      <id>6301</id>
      <condition>running</condition>
      <runLevel>7</runLevel>
      <state>sleeping</state>
      <starts>1</starts>
      <uptime>P3DT13H2M37S</uptime>
      <fds>57</fds>
    </ProcessStatus>
  </objects>
  <totalPages>1</totalPages>
  <currentPage>1</currentPage>
  <pageSize>19</pageSize>
</ExtPageList>

E36M3P6
0
成功
6062
跑步
7.
睡觉
1.
P3DT13H2M37S
21
6301
跑步
7.
睡觉
1.
P3DT13H2M37S
57
1.
1.
19
我想将此数据显示为包含所有数据的此格式


进程Id条件状态

绑定xml文件并在网格视图中显示xml文件的数据。这是代码

<script runat="server">
    void Page_Load(Object sender, EventArgs e)
    {
        DataSet authorsDataSet;
        string filePath = Server.MapPath("Authors.xml");
        authorsDataSet = new DataSet();
        //Read the contents of the XML file into the DataSet
        authorsDataSet.ReadXml(filePath);                    
        authorsGird.DataSource = authorsDataSet.Tables[0].DefaultView;
        authorsGird.DataBind();
    }

</script>

无效页面加载(对象发送方,事件参数e)
{
数据集作者数据集;
字符串filePath=Server.MapPath(“Authors.xml”);
authorsDataSet=新数据集();
//将XML文件的内容读入数据集中
authorsDataSet.ReadXml(文件路径);
authorsGird.DataSource=authorsDataSet.Tables[0].DefaultView;
authorsGird.DataBind();
}
下面是网格视图的html标记

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Reading XML Data into a DataSet object </title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:GridView id="authorsGird" runat="server" 
            AutoGenerateColumns="False" CellPadding="4" HeaderStyle-BackColor="blue" HeaderStyle-ForeColor="White" 
            HeaderStyle-HorizontalAlign="Center" HeaderStyle-Font-Bold="True">
            <Columns>
                <asp:BoundField HeaderText="Last Name" DataField="lastName" />
                <asp:BoundField HeaderText="First Name" 
                    DataField="firstName" ItemStyle-HorizontalAlign="Right" />
            </Columns>           
        </asp:GridView>
    </div>
    </form>
</body>
</html>

将XML数据读入DataSet对象
查看详细信息:


最简单的方法是使用数据集的
ReadXml()

DataSet xmlData = new DataSet();
xmlData.ReadXml("D:\\books.xml");
gridControl1.DataSource = xmlData.Tables[0];

所有已发布的答案都应该有效;。我认为您的问题在于数据集将XML视为两个表(而不是一个表)。尝试将第二个表绑定到gridview,如下所示:

  gridview.DataSource = ds1.Tables[1].DefaultView;

我尝试了这个,但无法获得全部记录..请检查我发布的xml文件数据,并建议我E36M3P6 0 Success 6062运行7 sleeping 1 P3DT13H2M37S 21 1 19 mycode:string filePath=Server.MapPath(“myfile.xml”);authorsDataSet=新数据集()//将XML文件的内容读入DataSet authorsDataSet.ReadXml(文件路径);authorsGird.DataSource=authorsDataSet.Tables[0];authorsGird.DataBind();我尝试了这一个,但我无法获得全部记录请检查我发布的xml文件数据,并建议我尝试了这一个,但我无法绑定xml文件继续查看多个记录如果你得到了你想要的信息,请不要忘记将答案标记为已接受,如果你没有任何解释就转储这些信息几乎没有帮助。堆栈溢出是关于学习,而不是提供盲目复制和粘贴的代码片段。请回答您的问题,并解释它如何比OP提供的更好地工作。
DataSet xmlData = new DataSet();
xmlData.ReadXml("D:\\books.xml");
gridControl1.DataSource = xmlData.Tables[0];
  gridview.DataSource = ds1.Tables[1].DefaultView;
Dataset ds_resp=new Dataset()
ds_resp.ReadXml(Server.MapPath("xmlfiles/PPForms.xml"));
gridview.DataSource = ds_resp;
gridview.DataBind();