Трудно сказать, смущена ли вы XML-частью или асинхронной частью. Вы вообще не выполняете синтаксический анализ - XmlDocument
делает это (хотя я рекомендую использовать LINQ to XML, если вы можете). Однако имя вашей переменной и вызов ToString
предполагают, что вы не поняли, что LoadFromUriAsync
возвращает IAsyncOperation<XmlDocument>
, а не XmlDocument
.
По сути, это обещание, что XmlDocument
будет доступен в какой-то момент в будущем. Вот где в игру вступают асинхронные методы C # 5 ... если вы измените Button_Click
на асинхронный метод, вы можете написать:
private async void Button_Click(object sender, RoutedEventArgs e)
{
Uri uri = new Uri("...");
XmlDocument xmlDocument = await XmlDocument.LoadFromUriAsync(UrlString);
text1.Text = xmlDocument.ToString();
}
Теперь ваш метод на самом деле вернет вызывающей стороне (цикл событий пользовательского интерфейса) при достижении выражения await, предполагая, что документ не стал мгновенно доступным ... но затем, когда документ имеет После того, как вы извлечены, остальная часть вашего метода будет выполнена (обратно в потоке пользовательского интерфейса), и у вас будет документ, который вы можете использовать, как если бы вы извлекали его синхронно.