2012-06-08 3 views
1

Я пытаюсь преобразовать внутренний текст выбранного тега span в строку.C# - Использование HTMLAgilityPack для преобразования узла в строку

<span id="course-text">ELEC1700/ELEC1700 2012 S1: Computer Engineering 1</span> 

Так выше станет: "ELEC1700/ELEC1700 2012 S1: Computer Engineering 1"

Я попробовал несколько комбинаций с использованием InnerText и GetAttributes, я просто не могу заставить его работать.

string name; 

WebClient client = new WebClient(); 

HtmlAgilityPack.HtmlDocument htmlDoc = new HtmlAgilityPack.HtmlDocument(); 

htmlDoc.Load(new System.IO.StringReader(client.DownloadString(urlTxtBx.Text))); 

name = htmlDoc.DocumentNode.SelectSingleNode("//span[@id='course-text']").InnerText; 
+0

Вы загружаете текст из текстового поля? Попробуйте это, если вы используете html -> htmlDocument.LoadHtml (ASCIIEncoding.ASCII.GetString (htmlString))? – lionheart

+0

Вы подтвердили, что htmlDoc определенно содержит правильный xml (поскольку он выглядит так, как будто вы получаете его из Интернета ... Он работает, когда вы просто вставляете образец HTML напрямую (удаляя переменные для выигрыша). – Chris

ответ

0

У меня отсутствовал клиент. ЗагрузитеString на urlTxtBx.Text.

Над кодом сейчас работает нормально :)

+0

, если вы используете 'htmlDoc.LoadHtml (client.DownloadString (urlTxtBx.Text));' он сохраняет вам программу чтения строк ;-) –

Смежные вопросы