首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >wp7帮助分析Xml

wp7帮助分析Xml
EN

Stack Overflow用户
提问于 2013-11-04 03:46:16
回答 1查看 61关注 0票数 0

嗨,我正在尝试解析由icalander开发的一个奇怪的xml文档中的一些xml。我在解析数据时遇到了很多困难,但是多亏了来自堆栈溢出的人的帮助,我才能够解析数据。现在,我需要在节点之间解析一些帮助。下面是我正在解析的xml文件的链接(http://datastore.unm.edu/events/events.xml)

我正在使用来自Visual 2010的枢轴模型来创建这个应用程序。在MainViewModel.cs部分中,我正在修改下面的代码,希望标记将被打印出来而不是"LineOne“(下面列出的代码)。例如,从上面链接的xml文件中,我希望LineOne =Lobo‘。

我需要帮助找出实现这一目标的最佳方法,我需要LineTwo来包含日期和时间,LineThree需要包含描述。

感谢您的时间和帮助,这一直是非常感谢!

代码语言:javascript
复制
    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 = "" });
    }

感谢您的寻找和帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-04 10:32:38

xml很好,我认为您在这里遇到了名称空间问题,您有两个选项,如果您确定不需要xml文件,就去掉xml文件的名称空间。首选选项是使用命名空间并为完全限定的元素名称指定名称空间。see Here

代码语言:javascript
复制
 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;
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19761334

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档