none
LINQ 2 XML to GridView RRS feed

  • 问题

  • <a>
     <a attr1="" attr2="" attr3="" attr4=""   />
     <a attr1="" attr2="" attr3="" attr4=""   />
    </a>

    这样的XML 如何用 LINQ 读取出属性值,并绑定到 GridView。我目前是用DataSet.ReadXml() 搞成一张 DataTable 然后绑定。
    跪求 LINQ 的解决方案。
    2010年1月30日 10:43

答案

  • 先创建实体类

        public class A
        {
            public string Attr1 { set; get; }
            public string Attr2 { set; get; }
            public string Attr3 { set; get; }
            public string Attr4 { set; get; }
        }

    然后用linq2xml 获得实体集合

            void func()
            {
                var xdoc = XDocument.Parse("<a> <a attr1='' attr2='' attr3='' attr4=''   /> <a attr1='' attr2='' attr3='' attr4=''   /></a>");

                // A list
                var list = (from a in xdoc.Element("a").Elements()
                            select new A
                            {
                                Attr1 = a.Attribute("attr1").Value,
                                Attr2 = a.Attribute("attr2").Value,
                                Attr3 = a.Attribute("attr3").Value,
                                Attr4 = a.Attribute("attr4").Value
                            }).ToList();
            }


    Mog Liang
    • 已标记为答案 Mog Liang 2010年2月5日 6:18
    2010年2月2日 9:10