簡體   English   中英

如何在Windows Phone 8.1中解析多個DESCENDANTS

[英]How to Parse multiple DESCENDANTS in windows phone 8.1

我正在嘗試解析多個后代,但不知道如何解析。

查看我的XML文檔:

<root>

  <withoutGroup>
    <Id>123</tabId>
    <Name>XYZ</tabName>
    <Url>ABC.htm</tabUrl>
    <Icon/>
  </withoutGroup>

 <group>

  <groupId>789</groupId>
  <groupName>TEST</groupName>

  <row>
    <Id>345</Id>
    <Name>PQR</Name>
    <Url>QWE.htm</Url>
    <Icon/>
  </row>
</group>

</root>
  1. 我想解析這些節點:

    ID

    名稱

    網址

    圖標

怎么處理呢?

XDocument doc = XDocument.Parse(e.Result);

List<LIST> list = new List<LIST>();

list = (from query in doc.Descendants("group")
       select new LIST
       {
          Id = Convert.ToInt64(query.Element("Id").Value),
          Name = query.Element("Name").Value
        }).ToList();

e.Result是我的XML文檔

如果我正確理解這一點,則需要從各種父元素名稱(在這種情況下為rowwithoutGroup元素)中選擇Id,Name,Url和Icon。 這是一種可能的方式:

.......
//list all possible parent elements
var parentElements = new[] {"row", "withoutGroup"};
//get descendants having element name listed in parentElements variable
list = (from query in doc.Descendants()
                         .Where(o => parentElements.Contains(o.Name.LocalName))
        select new LIST
        {
          Id = (long)query.Element("Id"),
          Name = (string)query.Element("Name"),
          Url = (string)query.Element("Url"),
          Icon = (string)query.Element("Icon"),
        }).ToList();

順便說一句,您可以將XElement直接轉換為“ 運算符”部分列出的類型之一,如上面的示例所示。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM