Kann ich Hilfe haben, um einen Wert aus einem HTML-Dokument zu erhalten?
Hier ist der Inhalt des Dokuments:
<html>
<head>
<style>body, table, input, select, textarea, button { font: normal 1em Verdana, Sans-Serif; } body { font-size: 0.8em; } a { color:#336600; } b { color:#003300; }.header {font-family: verdana; font-size: 15px; color:#003300; font-weight:bold;}.back {background-color:#DBF0DB;}.back2 {background-color:#009933;}
</style>
</head>
<body>
<table border="0" cellpadding="3" cellspacing="1" width="100%">
<tr>
<td colspan="2" class="header">#827216</td>
</tr>
</table>
<body>
</html>
Ich möchte den Wert # 827216 abrufen.
Hier ist der Code, mit dem ich arbeite, der nicht richtig funktioniert:
hdoc.LoadHtml(FileContents);
var xID = hdoc.DocumentNode.SelectNodes("/html/body/table/tr/");
Und hier ist der Fehler:
Ausdruck muss zu einem Knotensatz ausgewertet werden
Dies wird den Inhalt unabhängig von Ihrem fehlerhaften HTML erhalten:
HtmlNodeCollection tables = hdoc.DocumentNode.SelectNodes("//table[1]");
HtmlNodeCollection cells = tables[0].SelectNodes("//tr/td");
var cellText = cell[0].InnerHtml;
Sie sollten Ihren HTML-Code jedoch korrigieren, indem Sie das <body>
-Tag schließen.
Ihr HTML-Code ist kein gültiges XML. Das body
Tag ist nicht geschlossen. Auch Ihr XPath-Ausdruck sollte /html/body/table/tr/td
, um zum td
Element zu gelangen. Um ein Element zu erhalten, sollten Sie selectSingleNode