Using XPath and HtmlAgilityPack, you may get the value of an attribute.

c# html-agility-pack xpath

Question

I have a HTML document and I parse it with XPath. I want to get a value of the element input, but it didn't work.

My Html:

<tbody>
  <tr>
    <td>
      <input type="text" name="item" value="10743" readonly="readonly" size="10"/>
    </td>
  </tr>
</tbody>

My code:

using HtmlAgilityPack;

HtmlAgilityPack.HtmlDocument doc; 
HtmlWeb hw = new HtmlWeb();
HtmlNodeCollection node = doc.DocumentNode.SelectNodes("//input/@value");
string s=node[0].InnerText;

So I want to get the value: "10743" (and I don't mind to get another tags with the answer.)

1
10
12/29/2011 4:20:05 PM

Popular Answer

you can get it in .Attributes collection:

var doc = new HtmlAgilityPack.HtmlDocument();
doc.Load("file.html");
var node = doc.DocumentNode.SelectNodes("//input") [0];
var val = node.Attributes["value"].Value; //10743
14
12/29/2011 5:36:16 PM


Related Questions





Related

Licensed under: CC-BY-SA with attribution
Not affiliated with Stack Overflow
Licensed under: CC-BY-SA with attribution
Not affiliated with Stack Overflow