Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml 使用webclient下载的字符串构建XDocument_Xml_Webclient_Linq To Xml - Fatal编程技术网

Xml 使用webclient下载的字符串构建XDocument

Xml 使用webclient下载的字符串构建XDocument,xml,webclient,linq-to-xml,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.RelativeO

我使用以下方法下载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")
工作


但我需要通过网络客户端来完成。这里我做错了什么

一旦您获得了
xmlData
字符串,它就很容易使用了:


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

解析不起作用。此xml本应构建silverlight应用程序,但在使用webclient和解析应用程序时,应用程序在100%加载时被卡住,相同的文件作为链接从我的web项目的客户端bin添加,并使用xDocument.Load加载工作。。。但是我需要通过web客户端来完成,因为link-and-load方法不会更新xap@xdocsl:如果
Parse
不起作用,那么XML可能无效,或者可能使用了错误的内容编码(这肯定会把事情搞砸)。如果您尝试使用调试器单步执行代码,当您使用
Parse
时会发生什么?好的,我在同步时遇到了问题。web客户端正在下载该文件,但在完全下载该文件之前调用了本应使用该文件的其他方法
XDocument doc = XDocument.Parse(xmlData);