簡體   English   中英

wp7幫助解析XML

[英]wp7 Help Parse Xml

嗨,我正在嘗試從icalander開發的怪異xml文檔中解析一些xml。 我在解析數據時遇到了很多麻煩,但是由於有stackoverflow的人們的幫助,我才能夠解析數據。 現在,我需要一些節點之間的解析幫助。 這是我正在解析的xml文件的鏈接( http://datastore.unm.edu/events/events.xml

我正在使用Visual Studio 2010中的ivotapp模型創建此應用。 在MainViewModel.cs部分中,我正在修改以下代碼,希望該標簽可以代替“ LineOne”(下面列出的代碼)打印出來。 例如,從上面鏈接的xml文件中,我想要LineOne = Lobo的達人。

我需要幫助找出實現此目的的最佳方法,我需要LineTwo包含日期和時間,而LineThree包含描述。

感謝您的時間和幫助,我們非常感謝!

    public void LoadData()
    {
        var webClient = new WebClient();
        webClient.OpenReadAsync(new Uri("http://datastore.unm.edu/events/events.xml"));
        webClient.OpenReadCompleted += new OpenReadCompletedEventHandler(webClient_OpenReadCompleted);
    }

    public void webClient_OpenReadCompleted(object sender, 
                                            OpenReadCompletedEventArgs e)
    {
        XDocument unmXdoc = XDocument.Load(e.Result, LoadOptions.None);
        this.Items.Add(new ItemViewModel() { LineOne = unmXdoc.ToString(), 
                                             LineTwo = "", LineThree = "" });
    }

感謝您的幫助!

xml很好,我想您在這里遇到了名稱空間問題,您有兩個選擇,如果您確定不需要xml文件的名稱空間,則將其刪除。 首選選項是使用名稱空間,並為完全限定的元素名稱指定名稱空間。 看這里

 private readonly XNamespace dataNamspace = "urn:ietf:params:xml:ns:icalendar-2.0";

    public void webClient_OpenReadCompleted(object sender,
                                            OpenReadCompletedEventArgs e)
    {
        XDocument unmXdoc = XDocument.Load(e.Result, LoadOptions.None);

        this.Items = from p in unmXdoc.Descendants(dataNamspace + "vevent").Elements(dataNamspace + "properties")
                     select new ItemViewModel
            {
                LineOne = this.GetElementValue(p, "summary"),
                LineTwo = this.GetElementValue(p, "description"),
                LineThree = this.GetElementValue(p, "categories"),
            };

        lstData.ItemsSource = this.Items;
    }

    private string GetElementValue(XElement element, string fieldName)
    {
        var childElement = element.Element(dataNamspace + fieldName);

        return childElement != null ? childElement.Value : String.Empty;
    }

暫無
暫無

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

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