![](/img/trans.png)
[英]How to save a contact with multiple phone numbers on Windows Phone 8.1?
[英]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>
我想解析這些節點:
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文檔
如果我正確理解這一點,則需要從各種父元素名稱(在這種情況下為row
和withoutGroup
元素)中選擇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.