0

我在 C# 中有一个代码,我想在其中提取以下值(下面的 HTML 代码中的文本“我想要这个文本”)。我已重新格式化 HTML 代码以使其易于阅读。

<div class="paste-copy-url" style="margin:0 0 0 0;">
    <h4>My Stats:</h4>
    <div class="line">
        <div class="wrap-input">
            <input onclick="this.select();" value="I want this text" readonly="readonly">
        </div>
    </div>
    <h4>Website Link:</h4>
    <div class="line">
        <div class="wrap-input"><input onclick="this.select();" value="Some value" readonly="readonly">
        </div>
    </div>
</div>

我试过的代码(它给了我文字:“网站链接:”):

var myvaluetoextract = htmlDocument.DocumentNode.SelectSingleNode("//div[@class='paste-copy-url']");

我究竟做错了什么?我可以使用这种方法来获取该元素(页面中只有 div 类的 1 个实例)吗?

4

2 回答 2

4
var input = htmlDocument.DocumentNode
           .SelectSingleNode("//div[@class='paste-copy-url']//div[@class='wrap-input']/input");
var yourText = input.Attributes["value"].Value;
于 2013-10-07T09:47:12.183 回答
0

你可以这样做:

var myvaluetoextract = htmlDocument.DocumentNode.SelectSingleNode("//div[@class='paste-copy-url']//input");
var value = myvaluetoextract.GetAttributeValue("value", null);

//input意味着您递归地搜索 的子树input中的元素。是一个永远不会失败的助手,即使该属性不存在(在这种情况下,如果将返回第二个传递的参数 - 这是这里)divGetAttributeValuenull

于 2013-10-07T09:51:06.247 回答