1

我想从 HTML 文件中的两个 html div 中获取一些文本。经过一些搜索后,我决定使用 HTMLAgility Pack 来执行此操作。我写了这段代码:

    HtmlDocument doc = new HtmlDocument();
    doc.LoadHtml(result);
    HtmlNode node = doc.DocumentNode.SelectSingleNode("//*div[@class='item']"); 
    string value = node.InnerText; 

“结果”是我的文件内容。但我得到了这个例外:'表达式必须评估为节点集'

这是 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 ...
4

2 回答 2

0

您是否尝试过使用 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; 
于 2012-12-05T23:55:10.190 回答
0

试试

"//*/div[@class='item']"

或者干脆

"//div[@class='item']"

于 2012-12-05T23:52:32.963 回答