最近在学习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