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