在Windows Phone 8中使用XDocument解析XML

时间:2014-05-19 19:24:55

标签: c# .net xml windows-phone-8 linq-to-xml

任何人都可以告诉我如何使用Windows Phone 8中的XDocument解析这种格式的XML

 <search total=""  totalpages="">
 <domain>
 <makes filter="">
 <make cnt="374" image="abc.png">One</make>
 <make cnt="588" image="bca">Two</make>
 <make cnt="105" image="tley.png">Three</make>
 <make cnt="458" image="mw.png">Four</make>
 </makes>
 </domain>
 </search>

现在我正在使用此代码但无法获取数据。我需要来自这个XML的图像和名称。

XDocument xdoc = XDocument.Parse(flickRes);
var rootCategory = xdoc.Root.Elements("makes");
List<string> list = new List<string>();

foreach (XElement book in rootCategory.Elements("make"))
{
    string id = (string)book.Attribute("image");
    string name = (string)book;
    Debug.WriteLine(id);
    //list.Add(data);
}

提前致谢

1 个答案:

答案 0 :(得分:0)

Elements仅返回当前元素的直接子元素(具有匹配的名称,如果提供)。由于<makes>不是根元素的直接子元素,xdoc.Root.Elements("makes")将返回空集合。

在致电Element("domain")之前,在xdoc.Root上添加另一个Element("makes")来电。

XDocument xdoc = XDocument.Parse(flickRes);
var rootCategory = xdoc.Root.Element("domain").Element("makes");
List<string> list = new List<string>();

foreach (XElement book in rootCategory.Elements("make"))
{
    string id = (string)book.Attribute("image");
    string name = (string)book;
    Debug.WriteLine(id);
    //list.Add(data);
}