使用webclient下载字符串构建XDocument

时间:2010-09-22 18:41:53

标签: xml webclient linq-to-xml

我使用以下方法下载xml文件

private void LoadXMLFile()
{
  WebClient xmlClient = new WebClient();
  xmlClient.DownloadStringCompleted += new DownloadStringCompletedEventHandler(XMLFileLoaded);
  xmlClient.DownloadStringAsync(new Uri("chart.xml", UriKind.RelativeOrAbsolute));
}

void XMLFileLoaded(object sender, DownloadStringCompletedEventArgs e)
{
  if (e.Error == null)
  {
    string xmlData = e.Result;
    HtmlPage.Window.Alert(xmlData);
    x2 = new XDocument(xmlData);
  }
} 

我想使用xmlData中的信息来构建一个xDocument,就像我在最后一行中尝试做的那样。它没有给出任何错误,但我的程序不起作用所以我一定不能正确制作xDocument。像这样直接将xml文档分配给x2

x2 = Xdocument.Load("chart.xml")

作品。

但我需要通过webclient来实现。我在这做错了什么

2 个答案:

答案 0 :(得分:1)

获得xmlData字符串后,很容易使用XDocument.Parse

XDocument doc = XDocument.Parse(xmlData);

您是否可以详细说明为什么需要使用WebClient而不是XDocument.Load?它是否使调用异步?

答案 1 :(得分:1)