создание XDocument с загруженной веб-клиентом строкой - PullRequest
0 голосов
/ 22 сентября 2010

Я использую следующие методы для загрузки 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")

работает.

Но мне нужно сделать это через веб-клиента. что я тут делаю не так

Ответы [ 2 ]

1 голос
/ 22 сентября 2010
1 голос
/ 22 сентября 2010

После того как вы получили строку xmlData, все просто - используйте XDocument.Parse:

XDocument doc = XDocument.Parse(xmlData);

Не могли бы вы пояснить, почему вам нужно использовать WebClient вместо XDocument.Load? Это сделать вызов асинхронным?

...