• Silverlight读取xml


    这例子是为我的试验项目"SLShowCase"做的读取xml的试验.看到园子里的朋友做到仿163幻灯片的demo就提前发上来了.
    项目的功能是做案例展示.
    ok  首先,先定义xml.
    projects.xml
    <?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中定义类.
        public class project
        {
            
    public int id { getset; }
            
    public string title { getset; }
            
    public string category { getset; }
            
    public int hit { getset; }
            
    public DateTime createdate { getset; }
            
    public string converpic { getset; }
            
    public bool iscommend { getset; }
            
    public int votenum { getset; }
            
    public int score { getset; }
            
    //public IList<pitem> pitems { get; set; }
            
    //public IList<pcomment> pcomments { get; set; }
        }
    使用WebClient来加载数据.linq来格式化数据.
            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;
            }

    读取完毕.  ;)

    代码下载:https://files.cnblogs.com/nasa/silverlight/readxmlfile.zip

    作者:nasa
    出处:http://nasa.cnblogs.com
    联系:nasa_wz@hotmail.com
    QQ:12446006
  • 相关阅读:
    Android 读写文件
    Android junit单元测试
    pilot
    关闭端口8080/1099
    [table-ext.js]用于ajax请求后绑定返回json对象到table
    对一段汇编代码优化思路
    Hello
    第1章Java语言概述 以后我会陆续更新从零基础学习的
    MyEclipse快捷键大全(绝对全)
    2018总结,2019计划
  • 原文地址:https://www.cnblogs.com/nasa/p/1141860.html
Copyright © 2020-2023  润新知