0

XML

<Parent Name="Jodi">
<Children Name="xxx" age="20">
<Children Name="zzz" age="21">
</Parent>

<Parent Name="John">
<Children Name="aaa" age="18">
<Children Name="bbb" age="17">
</Parent>

C#:

//Loading the xml file
var xmlDoc=Xdocument.Load(xmlpath);
//Querying the names of the parents from the above xml file.
var parentlist=(from p in xmlDoc.Descendants("Parent")
                select p.Attribute("Name").value.ToString();
List<string> PList= new List<string>();
PList=parentList.ToList();

//passing to list to the gridview in asp.net web page:
 gvParentsList.DataSource=PList;
 gvParentsList.DataBind();

ASP.NET:

<asp:GridView runat="server" ID="gvParentsList" AutoGenerateColumns="false">
<Columns>
<asp:TemplateField HeaderText="Parents Name">
<ItemTemplate>
<asp:Label ID="lblParent" runat="server" Text='<%#Bind(PList) %>' ></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>

我无法将“PList”值传递给 grdview 中的列。我可以从上面的代码中查询名称,但无法显示到 gridview。

有人可以指导我在这里错过了什么吗?

4

1 回答 1

0

试试这个:

        var xmlPath = @"C:\Projects\Research\StackOverflow\StackOverflow\test.xml";

        // Loading the xml file
        var xmlDoc=XDocument.Load(xmlPath);

        // Querying the names of the parents from the above xml file.
        var parentList = from p in xmlDoc.Descendants("Parent") select new { Name = p.Attribute("Name").Value };

        var PList=parentList.ToList();

        //passing to list to the gridview in asp.net web page:
         gvParentsList.DataSource = PList;
         gvParentsList.DataBind();

然后像这样绑定:

<asp:Label ID="lblParent" runat="server" Text='<%#Bind("Name") %>'></asp:Label>
于 2012-07-26T20:05:49.247 回答