【发布时间】:2015-01-30 15:01:36
【问题描述】:
假设我有以下 HTML
<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>
我想在 C# 中使用 HTMLAgilityPack 分别提取每个部分
我可以很容易地得到单词和单词类
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 中的节点之间选择文本?
【问题讨论】:
标签: c# linq xpath html-agility-pack nodes