lovevs2010

开启学习软件之门

博客园 首页 新随笔 联系 订阅 管理

最近在学习Silverlight 3.0刚刚开始入门,遇到不少问题,通过Webservice返回的数据在SilverLight中显示,需要读取XML,在网上没少折腾。

首先创建一个用于测试的数据库(Test):

包含表(User):

User表字段:UserID   UserName

下面贴代码:

Linq读取数据库生成XML

public string createXML()
    {
        DataClassesDataContext dc = new DataClassesDataContext();
        var quary = from t in dc.usertab select new { t.id, t.name };
        XDocument x = new XDocument(
            new XDeclaration("1.0", "utf-8", "no"),
            new XElement("User", from g in quary
                                 select (
                                     new XElement("UserID", g.id)),
                from g in quary
                select (
                    new XElement("UserName", g.name))
                ));

        return x.ToString();
    }

接下来先创建一个User类

    public class user
    {
        public int UserID { get; set; }
        public string UserName { get; set; }
    }

最后从XML中读取我们需要的数据关绑定(GridView)显示:

public void GetSource(string t)
    {
        XDocument x =XDocument.Parse(t.ToString());
        var g = from s in x.Descendants("User") select s;
        List<user> UserList = new List<user>();
        foreach (var q in g)
        {
            user u = new user { UserID=Convert.ToInt32(q.Element("UserID").Value),UserName=(string)q.Element("UserName").Value};
            UserList.Add(u);
        }
        GridView1.DataSource = UserList;
        GridView1.DataBind();
    }

红色标记出来的有些问题,不知道为什么,我数据库中存有四条信息,然而只能读取到一条信息,本人是菜鸟自学中,希望高手门能带我入入门。并解决上面红色部分问题,小弟在此先谢谢了。

我的邮箱:303970126@qq.com

posted on 2009-11-05 17:37  lovevs2010  阅读(863)  评论(0编辑  收藏  举报