这例子是为我的试验项目"SLShowCase"做的读取xml的试验.看到园子里的朋友做到仿163幻灯片的demo就提前发上来了.
项目的功能是做案例展示.
ok 首先,先定义xml.
projects.xml
在sl中定义类.
以下是引用片段: public class project { public int id { get set } public string title { get set } public string category { get set } public int hit { get set } public DateTime createdate { get set } public string converpic { get set } public bool iscommend { get set } public int votenum { get set } public int score { get set } //public IList pitems { get; set; } //public IList pcomments { get; set; } } |
以下是引用片段: public Page() { InitializeComponent(); WebClient client = new WebClient(); client.DownloadStringAsync(new Uri(HtmlPage.Document.DocumentUri, "projects.xml")); client.DownloadStringCompleted += new DownloadStringCompletedEventHandler(client_DownloadStringCompleted); } void client_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e) { XmlReader reader = XmlReader.Create(new StringReader(e.Result)); XDocument document = XDocument.Load(reader); var projects = from f in document.Descendants("project") select new project { id = int.Parse(f.Attribute("id").Value), title = f.Attribute("title").Value, category = f.Attribute("category").Value, hit = int.Parse(f.Attribute("hit").Value), createdate = DateTime.Parse(f.Attribute("createdate").Value), converpic = f.Attribute("converpic").Value, iscommend = bool.Parse(f.Attribute("iscommend").Value), votenum = int.Parse(f.Attribute("votenum").Value), score = int.Parse(f.Attribute("score").Value), }; List _projects = new List(); _projects.AddRange(projects); txtStatus.Text ="read success for " + _projects[0].title; } |
代码下载:http://www.cnblogs.com/Files/nasa/silverlight/readxmlfile.zip