XDocument参考问题c#

时间:2011-06-06 13:27:06

标签: c# .net silverlight

我在另一个类中编写了这两个方法,但是如何从其他类中获取输出?我不仅仅是lsTags的价值。

这是我的代码:

private void LoadXMLFile()
    {
        WebClient xmlClient = new WebClient();
        xmlClient.DownloadStringCompleted += new DownloadStringCompletedEventHandler(XMLFileLoaded);
        xmlClient.DownloadStringAsync(new Uri("codeFragments.xml", UriKind.RelativeOrAbsolute));
    }
    private void XMLFileLoaded(object sender, DownloadStringCompletedEventArgs e)
    {            
        if (e.Error == null)
        {
            string xmlData = e.Result;
            XDocument xDoc = XDocument.Parse(xmlData);

            var tagsXml = from c in xDoc.Descendants("Tag") select c.Attribute("name");                

            foreach (string tagName in tagsXml)
            {
                Tag oTag = new Tag();
                oTag.name = tagName;
                var tags = from d in xDoc.Descendants("Tag")
                           where d.Attribute("name").Value == tagName
                           select d.Elements("oFragments");
                var tagXml = tags.ToArray()[0];

                foreach (var tag in tagXml)
                {
                    CodeFragments oFragments = new CodeFragments();
                    oFragments.tagURL = tag.Attribute("tagURL").Value;
                    //Tags.tags.Add(oFragments);
                    oTag.lsTags.Add(oFragments);
                }
                this.lsTags.Add(oTag);
            }
        }
    }

1 个答案:

答案 0 :(得分:1)

Silverlight不支持XmlDocument。请改用LINQ to XML。