Der Wert eines Attributs von XPath und HtmlAgilityPack

Ich habe ein HTML-Dokument und ich parse es mit XPath. Ich möchte den Wert des Elements input, aber es hat nicht funktioniert.

Mein Html:

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

Mein code:

using HtmlAgilityPack;

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

So ich will den Wert: "10743" (und ich kümmere mich nicht um anderen tags mit der Antwort.)

  • Haben Sie versucht, die node[0].Value?
  • Nein, denn ich will den Wert von der node[0].InnerText
  • Aber ein Attribut nicht über eine InnerText.
  • Ja, mein problem muss ich da verwenden InnerText denn dies ist in der Schleife, Aber ich kümmere mich nicht um den ganzen text einschließlich der element. <td> <input type="text" name="item" value="10743" readonly="readonly" size="10"/> </td>. Aber wie?
  • Ich denke, du bist nicht immer mein Punkt. Sie sind die Auswahl von Attributen. Diese haben nur eine Value, nicht ein InnerText.
  • Ja, ich habe es Erwischt, aber gibt es keine andere Möglichkeit? ein trick oder sowas? Auch bekommen Sie weitere tags, die ich nicht brauchen, zusätzlich zu dem Wert. So wird das element innerText von einem anderen tag.
  • Haben Sie vergessen, uns zu sagen, was genau Sie wollen zu bekommen, wie das Ergebnis der Auswertung des XPAth-Ausdrucks: ein Objekt, ein string,..., was genau saite...?
  • Ich fügte hinzu, in der Frage, was ich genau will.
  • Könnten Sie, bitte, die komplette C# - code und die vollständige HTML-Dokument? Aus dem code-snippet, das es scheint, dass Sie nicht mit HtmlAgilityPack überhaupt.

InformationsquelleAutor Chani Poz | 2011-12-29
Schreibe einen Kommentar