C# 如何在两个具有某种类属性的div标记之间获取文本,并具有HTML性

C# 如何在两个具有某种类属性的div标记之间获取文本,并具有HTML性,c#,html,selector,html-agility-pack,dom,C#,Html,Selector,Html Agility Pack,Dom,我想从html文件的两个html div中获取一些文本。 经过一些搜索之后,我决定使用HTMLAgility Pack来完成这项工作。 我写了这段代码: HtmlDocument doc = new HtmlDocument(); doc.LoadHtml(result); HtmlNode node = doc.DocumentNode.SelectSingleNode("//*div[@class='item']"); string value = node

我想从html文件的两个html div中获取一些文本。 经过一些搜索之后,我决定使用HTMLAgility Pack来完成这项工作。 我写了这段代码:

    HtmlDocument doc = new HtmlDocument();
    doc.LoadHtml(result);
    HtmlNode node = doc.DocumentNode.SelectSingleNode("//*div[@class='item']"); 
    string value = node.InnerText; 
“result”是我的文件内容。 但我得到一个例外:“表达式必须计算为一个节点集”

这是mt文件的一些内容:

<div class="Clear" style="height:15px;"></div>
<div class='Container Select' id="Container_1">
<div class='Item'><div class='Part Lable'>موضوع : </div><div class='Part ...

试试看

“//*/div[@class='item']”

或者干脆

“//div[@class='item']”

您尝试过使用XPath吗 例如,如果在我的示例中选择了一个节点,我将执行以下操作

string xpath = null;
XmlNode configNode = configDom.DocumentElement;
// collect selected nodes in node list
XmlNodeList nodeList =
configNode.SelectNodes(@"//*[@status='checked']");
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(result);
HtmlNode node = doc.DocumentNode.SelectSingleNode("//*/div[@class='item']"); 
string value = node.InnerText; 
在您的情况下,您将执行以下操作

string xpath = null;
XmlNode configNode = configDom.DocumentElement;
// collect selected nodes in node list
XmlNodeList nodeList =
configNode.SelectNodes(@"//*[@status='checked']");
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(result);
HtmlNode node = doc.DocumentNode.SelectSingleNode("//*/div[@class='item']"); 
string value = node.InnerText; 

感谢您的回复。当我使用一些字符串并将我的值放入测试时,所有这些选择器都工作了,但当我从文件中读取并使用选择器时,引发了一些异常…感谢您的回复。什么是configDom.DocumentElement类型?我想您键入的是错误的