HTML<p>узлов InnerText, включая текст привязки в CsQuery

Я анализирую некоторые статьи блога WordPress, используя CsQuery, чтобы провести некоторый анализ кластеризации текста на них. Я хотел бы вычеркнуть текст из соответствующего <p> узел.

var content = dom["div.entry-content>p"];
if (content.Length == 1)
{
    System.Diagnostics.Debug.WriteLine(content[0].InnerHTML);
    System.Diagnostics.Debug.WriteLine(content[0].InnerText);
}

В одном из постов InnerHTML выглядит так:

An MIT Europe project that attempts to <a title="Wired News: Gizmo Puts Cards 
on the Table" href="http://www.wired.com/news/technology/0,1282,61265,00.html?
tw=rss.TEK">connect two loved ones seperated by distance</a> through the use 
of two tables, a bunch of RFID tags and a couple of projectors.

и соответствующий InnerText как это

Проект MIT Europe, который пытается использовать две таблицы, несколько RFID-меток и несколько проекторов.

т.е. во внутреннем тексте отсутствует текст привязки. Я мог бы разобрать HTML сам, но я надеюсь, что есть способ, чтобы CsQuery дал мне

Проект MIT Europe, который пытается соединить двух близких людей, разделенных расстоянием, с помощью двух таблиц, набора меток RFID и пары проекторов.

(мой курсив.) Как я должен получить это?

2 ответа

Решение
   string result = dom["div.entry-content>p"].Text();

Текстовая функция будет включать в себя все, что ниже p включает тег p.

Попробуйте использовать HtmlAgilityPack

using HAP = HtmlAgilityPack;
...
var doc = new HAP.HtmlDocument();
doc.LoadHtml("Your html");
var node = doc.DocumentNode.SelectSingleNode(@"node xPath");
Console.WriteLine(node.InnerText());

xPath - это путь к узлу на странице.

Например: в Google Chrome нажмите F12 и выберите свой узел, щелкните правой кнопкой мыши и выберите "Копировать xPath"

Заголовок этой темы xPath: //*[@id="question-header"]/h1/a

Другие вопросы по тегам