C# 我想从元素为空的XML文件中选择数据
这是我编写的代码,但我不知道如何将所选数据放入C#中的gridview中 这是XML数据C# 我想从元素为空的XML文件中选择数据,c#,asp.net,xml,gridview,C#,Asp.net,Xml,Gridview,这是我编写的代码,但我不知道如何将所选数据放入C#中的gridview中 这是XML数据 <slipList> <slip> <dock>Dock 1</dock> <slipId>2</slipId> <slipWidth>4</slipWidth> <slipLength>12</slipLength> <boatInSlip></boatIn
<slipList>
<slip>
<dock>Dock 1</dock>
<slipId>2</slipId>
<slipWidth>4</slipWidth>
<slipLength>12</slipLength>
<boatInSlip></boatInSlip>
<slipHeight>12</slipHeight>
<slipDoor>true</slipDoor>
</slip>
</slipList>
1号码头
2.
4.
12
12
真的
我想选择所有'slip',其中'boatInSlip'='',并将它们显示在gridview nullSlipGrid中
(编辑1)此结果在gridview中向下显示1列:
D
o
C
k
一,
2.
4.
1.
2.
1.
2.
T
R
U
e您可以在
DataSet
中加载xml
,它将在DataTables
中转换,您可以将DataTable
作为DataSource
分配给您的girdview
DataSet ds = new DataSet();
ds.ReadXml(savePath);
nullSlipGrid.DataSource = ds.Tables[0];
nullSlipGrid.DataBind();
你的查询有效吗?您是没有得到预期的数据,还是它抛出了一个错误?在以前的类中,当我删除foreach中的元素(例如customer.remove())时,它起作用。但是,我不想加载整个xml文件。只有“slip”其中的“boatInSlip”==”。@JohnNicolay您必须创建一个自定义类,手动循环遍历节点并创建类的对象。而不是将其分配给gridviewThat(IMO),当您有LINQ到XML可用时,这是一种处理XML的丑陋方法。@MairajAhmad-对于OP所寻找的,LINQ到XML似乎是一种更好的方法。
DataSet ds = new DataSet();
ds.ReadXml(savePath);
nullSlipGrid.DataSource = ds.Tables[0];
nullSlipGrid.DataBind();