#c# #xml #web-services #html-agility-pack #azure-worker-roles
#c# #xml #веб-сервисы #html-agility-pack #azure-рабочие роли
Вопрос:
Я анализирую xml с помощью HtmlAgilityPack в роли рабочего веб-сервиса, но что-то не так. Когда я выбираю дочерний узел «ссылка», получаю пустой символ. xml, подобный :
<link>
http://www.webtekno.com/google/google-ve-razer-dan-oyun-konsolu.html
</link>
мой код для получения ссылки из rss:
HtmlNodeCollection nodeList = doc.DocumentNode.SelectNodes("//item");
foreach (HtmlNode node in nodeList)
{
string newsUri = node.ChildNodes["link"].InnerText;
}
Я думаю, что получает пустой символ, потому что узел ссылки включает новую строку и после ссылки. Как я могу получить ссылку в узле?
Комментарии:
1. Почему? Разве вы не можете использовать надлежащий XML API (например
XDocument
)?2. Я пытаюсь это сделать, но проблема все еще существует.
Ответ №1:
Поместите эту строку перед загрузкой HTMLDocument
HtmlNode.ElementsFlags["link"] = HtmlElementFlag.Closed;
Вот и все.
По умолчанию его значением является HtmlElementFlag.Empty
и обрабатывается как теги meta
и img
…