簡體   English   中英

在foreach循環中解析XML

[英]Parsing XML in a foreach loop

我正在Windows Phone 8上創建應用程序。我正在苦苦掙扎的一點是要解析XML。 這是XML文件:

 <ArrayOfThemeParkList xmlns="http://schemas.datacontract.org/2004/07/WCFServiceWebRole1" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
    <ThemeParkList>
       <id>1</id>
       <name>Alton Towers</name>
    </ThemeParkList>
    <ThemeParkList>
       <id>2</id>
       <name>Thorpe Park</name>
    </ThemeParkList>
    <ThemeParkList>
       <id>3</id>
       <name>Chessington World Of Adventures</name>
    </ThemeParkList>
    <ThemeParkList>
       <id>4</id>
       <name>Blackpool Pleasure beach</name>
    </ThemeParkList>
 </ArrayOfThemeParkList>

試圖解析它的C#代碼是:

void ThemeParksNames_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
    //Now need to get that data and display it on the page
    //check for errors
    if (e.Error == null)
    {
        //No errors have been passed now need to take this file and parse it 
        //Its in XML format
        XDocument xdox = XDocument.Parse(e.Result);
        //need a list for them to be put in to
        List<ThemeParksClass> ParkList = new List<ThemeParksClass>();
        //Now need to get every element and add it to the list
        foreach (XElement item in xdox.Root.Elements("ThemeParkList"))
        {
            ThemeParksClass content = new ThemeParksClass();
            content.ID = Convert.ToInt32(item.Element("id").Value);
            content.ThemeParkName = item.Element("name").Value.ToString();
            ParkList.Add(content);
        }
        parkList.ItemsSource = ParkList.ToList();
    }
    else
    {
        //There an Error
    }
}

現在,當使用斷點時,它會到達每個循環的,但根本不會繼續運行。 我猜我為每個循環設置了錯誤。

非常感謝。

您的ThemeParkList元素位於命名空間http://schemas.datacontract.org/2004/07/WCFServiceWebRole1 -您需要進行相應的調整:

XNamespace ns = "http://schemas.datacontract.org/2004/07/WCFServiceWebRole1";
foreach (XElement item in xdox.Descendants(ns + "ThemeParkList"))

您將需要以相同的方式處理其他元素。

暫無
暫無

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

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