XDocument没有与XMLDocument相反的加载方法,那么如何使用url从Internet加载XML内容?
答案 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
,我不认为你正在处理。