【发布时间】:2016-07-27 05:25:11
【问题描述】:
以下是示例 html 源代码
<div id="page2" dir="ltr">
<p>This text I dont want to extract</p>
This is the text which I want to extract
</div>
不管 div 标签的属性如何,我只想提取 div 标签文本,而忽略 div 标签内的其他标签文本。
在上面的示例中,我不想在<p></p> 标记中提取文本,但我想在<div></div> 标记中提取文本,即“这是我要提取的文本”
XmlNodeList DivNodeList = xDoc.GetElementsByTagName("div");
string DivInnerText;
for (int i = 0; i < DivNodeList.Count; i++)
{
if (!DivNodeList[i].InnerXml.Contains("p"))
{
DivInnerText = DivNodeList[i].InnerText.Trim();
Div_List.Add(DivInnerText);
}
}
但是上面的代码没有按预期工作,因为我正在检查 p 标签是否存在,然后只提取文本。显然,如果 p 标签存在,它就不会进入 div 标签的内部文本,并且包含所有组合的文本,无论其中的标签是什么。
非常感谢您对此的任何帮助。
【问题讨论】:
标签: c#