Windows Phone 7 开发探索笔记7——加载XML文件

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 06:44 点击:

本文介绍一下如何在Silverlight for Windows Phone中读取XML文件。

一.准备XML文件

    首先我们来准备一个待读取的XML文件,可以在Visual Studio中创建也可以添加一个已有的,我选择添加已有项,如下图:


如果要新创建,选择New Item即可。注意:添加XML文件后需要将文件属性中的Build Action改为Resource,如下图:


下面是XML文件中的内容,很简单:

代码
<?xml version="1.0" encoding="utf-8" ?>
<Carmakers>
  <CarBrand Name="Aston Martin"/>
  <CarBrand Name="Bentley"/>
  <CarBrand Name="Bugatti"/>
  <CarBrand Name="Ferrari"/>
  <CarBrand Name="Jaguar"/>
  <CarBrand Name="Lamborghini"/>
  <CarBrand Name="Maserati"/>
  <CarBrand Name="Maybach"/>
  <CarBrand Name="Porsche"/>
  <CarBrand Name="Rolls-Royce"/>
</Carmakers>
二.加载并读取XML文件

上篇文章中我们提到了Application类,下面就要通过这个类中的GetResourceStream方法来将XML文件中的内容加载到一个StreamResourceInfo对象中,代码如下:

代码
public partial class MainPage : PhoneApplicationPage
    {
        XElement carMakers;

        // Constructor
        public MainPage()
        {
            InitializeComponent();

            StreamResourceInfo xml = Application.GetResourceStream(new Uri("/WindowsPhoneLoadingXMLFileDemo;component/Carmakers.xml", System.UriKind.Relative));

            carMakers = XElement.Load(xml.Stream);

            this.ManipulationStarted += new EventHandler<ManipulationStartedEventArgs>(MainPage_ManipulationStarted);
        }

        void MainPage_ManipulationStarted(object sender, ManipulationStartedEventArgs e)
        {
            var carNames = from car
                           in carMakers.Elements("CarBrand")
                           select car.Attribute("Name").Value;
            lbxCarmakers.ItemsSource = carNames;
        }
    }
要注意Uri类中的路径”/WindowsPhoneLoadingXMLFileDemo;component/Carmakers.xml “。我使用Linq To XML(需要在项目中添加System.Xml.Linq程序集的引用并在代码中添加using System.Xml.Linq;语句)来读取XML中的节点信息,首先通过XElement.Load方法加载整个流,然后在整个页面的ManipulationStarted事件处理程序中将所有的CarBrand信息读出来,赋给一个Listbox的ItemsSource属性,这样就可以将XML中的数据呈现出来了。

另外,对于XML文件来说,也可以直接通过

XElement.Load("/WindowsPhoneLoadingXMLFileDemo;component/Carmakers.xml");

来获取到一个XElement。下面是程序截图:

 

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • Windows Phone 项目实战之我的微盘(下)
    • Windows Phone 实用开发技巧(26):对DataTemplate中的元素播放
    • Windows Phone 实用开发技巧(25):Windows Phone读取本地数据
    • Windows Phone 实用开发技巧(27):创建透明Tile
    • Windows Phone 知识锦(12月版)
    • Windows Phone实用开发技巧(31):密码加密
    • Windows Phone 项目实战之我的微盘(上)
    • WP7实例篇之土豆搜索器(2)
    • [翻译]WP7 QuickStart-第七篇-布局
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1