wp7加载XML文件,处理加载的xml为pointer为null的报错
2012-03-24 15:26
267 查看
本文介绍一下如何在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。下面是程序截图: |
相关文章推荐
- <Opencv for Android 调试>加载XML模型,使用SVM.predict出现的NullPointerException问题
- 转换为XML文件时发生 javax.xml.transform.TransformerException: java.lang.NullPointerException
- 转换为XML文件时发生 javax.xml.transform.TransformerException: java.lang.NullPointerException
- layout文件夹中activity_main.xml与fragment_main.xml文件的处理记录
- Flex :HTTPService处理XML文件的两种方法, Asp生成Xml的方法,以及Flex定义变量、赋值的运用。。。。
- zepplin0.7.2报错ERROR, exception: null, result: %text java.lang.NullPointerException的处理
- Spring Bean依赖但注入(autowired或resource)时NullPointerException(xml和annotation混用的场景下)
- jQ处理xml文件和xml字符串的方法(详解)
- C#对XML操作:一个处理XML文件的类(1)
- Java优雅代码--String容错处理 NullPointerException
- C#对XML操作:一个处理XML文件的类(2)
- Java xml出现错误 javax.xml.transform.TransformerException: java.lang.NullPointerException
- WP7 中 XML 文件处理
- 利用XE7的OmniXML完成XML文件的处理,支持跨平台
- IBM webSphere解析xml报错:javax.xml.transform.TransformerException: java.lang.NullPointerException
- 使用XmlDocument类加载XML文件时如何忽略DTD验证
- JS操作XML实例总结(加载与解析XML文件、字符串)
- JS操作XML实例总结(加载与解析XML文件、字符串)
- Dom4j解析XML文件,处理来至XML的数据信息