Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
Vitall
759 / 539 / 80
Регистрация: 03.07.2011
Сообщений: 1,020
1

HtmlAgilityPack: внутренний текст тега

08.03.2012, 22:02. Просмотров 1099. Ответов 6
Метки нет (Все метки)

Добрый ...
В тексте с html разметкой

HTML5
1
2
3
4
<tr>
<th><span>коэффициент ... </span></th>
<td><0,001%</td>
</tr>
есть внутренний текст тега <0,001% который не получить из-за того что
HtmlAgilityPack воспринимает знак меньше < как закрытие тега .
вроде бы надо в таком случаи использовать код знака меньше
Код
&lt;
Но это затруднительно ,так как данный html код я получаю полной раскадровкой через метод
C#
1
HttpUtility.HtmlDecode(string s )
есть идеи по решению проблемы ?
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.03.2012, 22:02
Ответы с готовыми решениями:

Добавление значение тега при соответствии условию другого тега (HtmlAgilityPack)
На странице html содержится текст (элемент коллекции HtmlNodeCollection) &lt;div class=&quot;wrapper&quot;&gt; &lt;a...

HtmlAgilityPack: внутренний текст тега
Почему не выводится InnerText тегов option ? неприятный косяк этой HtmlAgilityPack :negative:...

HtmlAgilityPack. Получить содержимое value тега input
как, ребят? System.IO.Stream stream = resp.GetResponseStream(); ...

HtmlAgilityPack - получение текста внутри тега
Доброго времени суток. При разборе html - страницы возникла необходимость получать для каждого...

HtmlAgilityPack. Получить дочерние элементы тега
Здравствуйте, нужна помощь при решении задачи. Допустим имеется такой файл: &lt;a1&gt; &lt;b1&gt; ...

6
Niades
86 / 72 / 6
Регистрация: 11.09.2011
Сообщений: 118
09.03.2012, 21:06 2
Вам надо избежать вызова
C#
1
HttpUtility.HtmlDecode(string s)
Иначе никак. Хотя, можете потом вызвать
C#
1
HttpUtility.HtmlEncode(string s)
Но это уже какое-то извращение. Передавайте строку в HtmlAgilityPack в том виде, в котором она находится до HtmlDecode().
0
Vitall
759 / 539 / 80
Регистрация: 03.07.2011
Сообщений: 1,020
09.03.2012, 22:11  [ТС] 3
Разве HtmlAgilityPack может читать код в закодированном виде ?
Попробовал, не получилось (

Добавлено через 10 минут
Цитата Сообщение от Niades Посмотреть сообщение
в том виде, в котором она находится до HtmlDecode().
Она находится в полностью закодированном виде
0
Niades
86 / 72 / 6
Регистрация: 11.09.2011
Сообщений: 118
09.03.2012, 23:26 4
Цитата Сообщение от Vitall Посмотреть сообщение
Разве HtmlAgilityPack может читать код в закодированном виде ?
Попробовал, не получилось (

Добавлено через 10 минут

Она находится в полностью закодированном виде
Это в каком таком полностью закодированном?
1
Vitall
759 / 539 / 80
Регистрация: 03.07.2011
Сообщений: 1,020
10.03.2012, 08:21  [ТС] 5
Цитата Сообщение от Niades Посмотреть сообщение
Это в каком таком полностью закодированном?
В каком получится готовый html код после вызова
C#
1
HttpUtility.HtmlEncode
Код
&lt;tr&gt;
&lt;td colspan=&quot;2&quot;&gt;&lt;strong&gt;Дополнительно:&lt;/strong&gt; &lt;br /&gt;&lt;strong&gt;Kонструкция: &lt;/strong&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
0
Vitall
759 / 539 / 80
Регистрация: 03.07.2011
Сообщений: 1,020
11.03.2012, 09:20  [ТС] 6
Видимо авторы HtmlAgilityPack решили сэкономить на проверке закрывающего тега ,от чего возникают такие казусы .Фиксить этот баг я не стал, просто потому что в своей программе также использую веббраузер .Парсил им ,у него этого бага нет
0
turbanoff
Эксперт Java
4054 / 3789 / 743
Регистрация: 18.05.2010
Сообщений: 9,330
Записей в блоге: 11
Завершенные тесты: 1
11.03.2012, 10:41 7
По сути это не баг, а кривая разметка. В таком случае можно лишь предполагать что должно вывести.
0
11.03.2012, 10:41
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.03.2012, 10:41

Как вывести неформатированный текст между тэгами (HTMLAgilityPack)
Мне нужно выдрать текст между тэгами. Написал Xpath запрос, все правильно отрабатывает, нужный...

HtmlAgilityPack не отдает текст, если он уже встречался в строке
таблица состоит из таких строк Добавлено через 7 минут таблица состоит из таких строк &lt;tr...

Вывод текст из html-тега с сайта
Прошу дать пример вывода текста в теге с сайта для программы C#. &lt;html&gt; &lt;ver&gt;123&lt;/ver&gt;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.