2013-08-07 53 views
0

我将.xml文件添加到我的项目中。现在我需要打开它。我尝试FileStream,StreamReader,IsolatedStorageFileStream。但每种情况都有例外。有人知道我如何打开本地XML文件并从中获取数据?在windows phone上阅读.xml文件

public static AllFlags Load() 
    { 
     IsolatedStorageFile storage = IsolatedStorageFile.GetUserStoreForApplication(); 
     AllFlags allFlags; 

     IsolatedStorageFileStream stream = storage.OpenFile(filename, FileMode.Open); 
     //StreamReader stream = new StreamReader(filename); 
     XmlSerializer xml = new XmlSerializer(typeof(AllFlags)); 
     allFlags = xml.Deserialize(stream) as AllFlags; 
     stream.Close(); 
     stream.Dispose(); 

     return allFlags; 
    } 
+0

通常你会使用'XmlDocument':http://msdn.microsoft.com/en-us/library/system.xml.xmldocument.aspx –

+0

你会得到什么异常? – user2323308

回答

0

如果你不需要XML的具体信息,但只是读取文件的内容,这是最简单的方法:http://msdn.microsoft.com/en-us/library/system.io.file.readalltext.aspx

System.IO.File.ReadAllText(@"drive:\path\to\your\file.xml"); 

的框架,否则有speficied XML对象这样做。通常你会使用XmlDocument。看下面的例子。

http://msdn.microsoft.com/en-us/library/system.xml.xmldocument.loadxml.aspx

using System; 
using System.Xml; 

public class Sample { 

    public static void Main() { 

    // Create the XmlDocument. 
    XmlDocument doc = new XmlDocument(); 
    doc.Load(@"drive:/path/to/you/file.xml"); 

    //Get data from the Xml File 
    XmlNode Node = doc.SelectSingleNode("/apple/price"); 

    // Add a price element. 
    XmlElement newElem = doc.CreateElement("price"); 
    newElem.InnerText = "10.95"; 
    doc.DocumentElement.AppendChild(newElem); 

    // Save the document to a file and auto-indent the output. 
    XmlTextWriter writer = new XmlTextWriter("data.xml",null); 
    writer.Formatting = Formatting.Indented; 
    doc.Save(writer); 
    } 
} 

获得同样看到此链接为一个很好的教程:http://www.codeproject.com/Articles/169598/Parse-XML-Documents-by-XMLDocument-and-XDocument

+0

这不是问题的答案。 – user2323308

+0

现在它还显示如何加载数据 –

0

让说,你已经在你的WP8项目中创建的文件夹XMLFILES(在根级别)。您可以加载XML这样的:

var doc = XElement.Load("XmlFiles/NameOfXmlFile.xml"); 

注意,有没有领导../字符。另外,检查xml文件的属性。生成操作必须设置为Content,并且复制到输出目录应为Copy if newerCopy always