如何在Silverlight中的XDocument中加载xml文件?

时间:2011-03-17 22:35:22

标签: silverlight

XDocument没有与XMLDocument相反的加载方法,那么如何使用url从Internet加载XML内容?

1 个答案:

答案 0 :(得分:4)

实际上,XDocument确实有Load(Uri)方法,但它只适用于导航到应用内的网页。这是一种静态方法,所以你做XDocument xDoc = XDocument.Load("/somepage.xaml");Load(string)方法的文档为here

如果要访问外部URL,则需要使用WebClient类。这是我刚刚在Windows Phone 7应用程序(基本上是SL3)中测试的一个示例:

using System;
using System.Net;
using Microsoft.Phone.Controls;
using System.Xml.Linq;

namespace XDocumentTest
{
    public partial class MainPage : PhoneApplicationPage
    {
        // Constructor
        public MainPage()
        {
            InitializeComponent();
            WebClient wc = new WebClient();
            wc.DownloadStringCompleted += HttpsCompleted;
            wc.DownloadStringAsync(new Uri("http://twitter.com/statuses/public_timeline.xml"));
        }

        private void HttpsCompleted(object sender, DownloadStringCompletedEventArgs e)    
        {        
            if (e.Error == null)        
            {            
                XDocument xdoc = XDocument.Parse(e.Result, LoadOptions.None);            
                TextBlock1.Text = xdoc.FirstNode.ToString();        
            }    
        }
    }
}

This question类似,但涉及https,我不认为你正在处理。