前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Silverlight读取xml

Silverlight读取xml

作者头像
用户1172164
发布2018-01-12 11:19:32
8680
发布2018-01-12 11:19:32
举报

这例子是为我的试验项目"SLShowCase"做的读取xml的试验.

项目的功能是做案例展示.

ok  首先,先定义xml.

projects.xml

代码语言:js
复制

<?xml version="1.0" encoding="utf-8" ?>
 <projects>
 <project id="1" title="nasa.wang @ cnblogs" category="web" hit="23" createdate="2008-4-9" converpic="null" iscommend="true" votenum="8" score="10">
 </project>
 </projects>

在sl中定义类.

代码语言:js
复制
 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<pitem> pitems { get; set; }
 //public IList<pcomment> pcomments { get; set; }
     }

使用WebClient来加载数据.linq来格式化数据.

代码语言:js
复制
 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<project> _projects = new List<project>();
             _projects.AddRange(projects);
             txtStatus.Text ="read success for " + _projects[0].title;
         }

读取完毕.  ;)

作者:nasa

联系:nasa_wz@hotmail.com

QQ:12446006

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2008-04-08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档