我正在尝试读取以下XML文件:
<root>
<resources>
<item>itemname1</item>
</resources>
<resources>
<item>itemname2</item>
</resources>
</root>
C#代码:
XDocument loadedData = XDocument.Load("items.xml");
var data = from query in loadedData.Descendants("resources")
select new Item
{
item = (string)query.Element("item")
};
当我将我的XML文件放到项目的根文件夹中时,它工作正常但如果我将我的文件放在任何文件夹下(例如/xmls/items.xml或/Assets/items.xml)得到我错误无法在应用程序XAP包中找到文件。我还编辑了xml文件的属性作为构建操作 - &gt;内容和复制到输出Dirtectoty - &gt;复制如果更新。但是相同的结果是在Application XAP Package中找不到文件。
我还提到了问题Xml file not found in xap
答案 0 :(得分:0)
使用以下代码在文件夹
中加载XML文件 StreamResourceInfo xml = Application.GetResourceStream(new Uri("Assets/items.xml", UriKind.Relative));
var appDataXml = XElement.Load(xml.Stream);
修改:获取商品值
var allItems = from o in appDataXml.Elements("resources")
select o;
foreach (var item in allItems)
{
var itemValue = item.Value;
}
不使用ForEach的替代解决方案:
var allItems = from o in appDataXml.Elements("resources")
select new Items
{
item = (string)o.Element("item")
};
var Firstitem = allItems.Cast<Items>().ElementAt(0);
MessageBox.Show(Firstitem.item.ToString());
项目类别定义:
public class Items
{
public string item { get; set; }
}