Xml 使用webclient下载的字符串构建XDocument
我使用以下方法下载xml文件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
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);