1

HTMLファイルから2つの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

どちらかを試してください

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

または単に

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

于 2012-12-05T23:52:32.963 に答える
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 に答える