Предположим, что у меня есть следующий HTMLПолучение текста из между двумя HTML узлами с помощью HtmlAgilityPack
<p id="definition">
<span class="hw">emolument</span> \ih-MOL-yuh-muhnt\, <i>noun</i>:
The wages or perquisites arising from office, employment, or labor
</p>
Я хочу, чтобы извлечь каждую часть по отдельности, используя HTMLAgilityPack в C#
я могу получить слово и класс слов достаточно легко
var definition = doc.DocumentNode.Descendants()
.Where(x => x.Name == "p" && x.Attributes["id"] == "definition")
.FirstOrDefault();
string word = definition.Descendants()
.Where(x => x.Name == "span")
.FirstOrDefault().InnerText;
string word_class = definition.Descendants()
.Where(x => x.Name == "i")
.FirstOrDefault().InnerText;
Но как я могу получить произношение или фактическое определение? Они падают между узлами, и если я использую defintion.InnerText
, я получаю всю партию в одной строке. Есть ли способ сделать это в XPath
возможно?
Как выбрать текст между узлами в HtmlAgilityPack?