zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    过往总结
    查找光标处的标识符
    【转】Linux 内核开发 Eclipse内核开发环境搭建
    【转】Writing linux kernel code in Eclipse
    【转】 Linux内核升级指南
    [转]Ubuntu 11.04 安装后要做的20件事情
    【转】vim 替换操作大全
    【转】移动硬盘安装ubuntu
    重置 Winsock 目录
    【转】让Firefox像vim一样操作
  • 原文地址:https://www.cnblogs.com/nasa/p/1141860.html
Copyright © 2011-2022 走看看