Windows Phone手机开发专题博客

Windows Phone手机开发专题博客,为您精选WP7手机开发教程,助您手机开发愉快!

公告信息
欢迎光临Windows Phone手机开发专题博客,祝您手机开发愉快!
文章档案

WP7 操作XML教程

本节为讲解如何在WP7中操作XML,通过WP7加载XML文件示例来为您展示这篇教程内容:

下面开始介绍:Silverlight for Windows Phone中读取XML文件

一.准备WP7 XML文件

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

clip_image001

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

clip_image002

下面是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。下面是程序截图:

clip_image003

源码下载:WindowsPhoneLoadingXMLFileDemo.zip

希望本文WP7 操作XML教程对您的手机开有所助攻。

新浪微博粉丝精灵,刷粉丝、刷评论、刷转发、企业商家微博营销必备工具"

2011/9/9 22:45:58 | WP7教程 | |

  • 发表评论