繁体   English   中英

如何在窗口手机7中加载位于应用程序文件夹内的XML文件?

[英]How to load XML file located inside the folder of the application in window phone 7?

我正在开发windows phone 7应用程序。 我是窗口手机7应用程序的新手。 我通过右键单击项目并选择Add - > New Item在我的项目中添加了XML文件。 然后,我可以使用以下代码轻松地在我的应用程序中加载XML文件

IsolatedStorageFile isfData = IsolatedStorageFile.GetUserStoreForApplication();
            XDocument doc = null;
            IsolatedStorageFileStream isfStream = null;
            if (isfData.FileExists(strXMLFile))
            {
                isfStream = new IsolatedStorageFileStream(strXMLFile, FileMode.Open, isfData);
                doc = XDocument.Load(isfStream);
                isfStream.Close();
            }
            else
            {
                doc = XDocument.Load(strXMLFile);
                isfStream = new IsolatedStorageFileStream(strXMLFile, FileMode.CreateNew, isfData);
                doc.Save(isfStream);
                isfStream.Close();
            }

通过使用上面的代码,我可以在我的XML文件中执行读写操作。

但是当我将XML文件放入文件夹时出现了问题。 我的问题如下:通过右键单击项目名称并在visual studio中选择Add - > New Folder,我在项目中添加了一个名为'XML Files'的文件夹。 然后我通过右键单击文件夹并选择Add-> New Item将XML文件添加到'XML Files'文件夹中。 当我将XML文件放入文件夹时,我无法在我的应用程序中加载它。 我也尝试过以下声明

isfStream = new IsolatedStorageFileStream("/XML Files/"+strXMLFile, FileMode.Open, isfData);

我收到错误

doc = XDocument.Load(strXMLFile);

我在应用程序xap包中收到错误“无法找到文件'/ XML Files / A.xml'。” 我该怎么办 ? 如何加载文件夹内的XML文件? 我的代码有什么问题吗? 能否请您提供我可以解决上述问题的任何代码或链接?

首先,确保将XML文件的Build Action设置为Content ,并将Copy to output选项设置为Copy if newer (或Copy always )。 然后,试试这个:

XDocument doc = XDocument.Load( "XML Files/MyXmlFile.xml" );

请注意,没有前导斜杠(/); 几天前我花了几个小时坚持这个愚蠢的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM