Ich muss ein Dokument wie folgt analysieren. Ich versuche HtmlAgilityPack, aber es ist sehr kompliziert. Ich brauche diesen Tag inneren Text: <td style="background: #36461f;color: #ffffff;font-weight: bold;padding: 2px;font-size: 12px;height: 25px;">Mac Bahsi</td>
und Kinder
<div class="div1" style="width: 288px;" onclick="parent.javaScriptAddSlip('slip', '164518117;;;-;11.25;1;Maç Bahsi;164518117')">
<div class="div1" style="width: 288px;" onclick="parent.javaScriptAddSlip('slip', '164518117;;;-;6.50;0;Maç Bahsi;164518117')">,
<div class="div1" style="width: 288px;" onclick="parent.javaScriptAddSlip('slip', '164518117;;;-;1.18;2;Maç Bahsi;164518117')">
<!DOCTYPE HTML>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style>
.table1 {
width: 100%;
margin: 0px;
padding: 0px;
border-collapse: collapse;
padding: 0px;
}
.div1 {
cursor: pointer;
margin: 1px;
border: 1px solid #999999;
float: left;
font-size: 12px;
}
.td1 {
text-align: center;
font-size: 20px;
font-weight: bold;
color: #33460E;
height: 20px;
padding: 0px;
}
.td2 {
text-align: center;
font-weight: bold;
color: #808000;
padding: 0px;
}
</style>
</head>
<body style="background: #FFFFCC;margin: 0px;padding: 0px;font-size: 12px;">
<p></p>
<table style="width: 100%" cellpadding="0" cellspacing="0">
<tr>
<td style="background: #36461f;color: #ffffff;font-weight: bold;padding: 2px;font-size: 12px;height: 25px;">Mac Bahsi</td>
</tr>
<tr>
<td>
<div class="div1" style="width: 288px;" onclick="parent.javaScriptAddSlip('slip', '164518117;;;-;11.25;1;Maç Bahsi;164518117')">
<table class="table1">
<tr class="menuClickable">
<td class="td1">11.25</td>
</tr>
<tr class="menuClickable">
<td class="td2">Club America Mexico</td>
</tr>
</table>
</div>
<div class="div1" style="width: 288px;" onclick="parent.javaScriptAddSlip('slip', '164518117;;;-;6.50;0;Maç Bahsi;164518117')">
<table class="table1">
<tr class="menuClickable">
<td class="td1">6.50</td>
</tr>
<tr class="menuClickable">
<td class="td2">Beraberlik</td>
</tr>
</table>
</div>
<div class="div1" style="width: 288px;" onclick="parent.javaScriptAddSlip('slip', '164518117;;;-;1.18;2;Maç Bahsi;164518117')">
<table class="table1">
<tr class="menuClickable">
<td class="td1">1.18</td>
</tr>
<tr class="menuClickable">
<td class="td2">Real Madrid</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
<table style="width: 100%" cellpadding="0" cellspacing="0">
<tr>
<td style="background: #36461f;color: #ffffff;font-weight: bold;padding: 2px;font-size: 12px;height: 25px;">Ilk Yari Bahsi</td>
</tr>
<tr>
<td>
<div class="div1" style="width: 288px;" onclick="parent.javaScriptAddSlip('slip', '164518128;;;-;8.50;1;İlk Yarı Bahsi;164518128')">
<table class="table1">
<tr class="menuClickable">
<td class="td1">8.50</td>
</tr>
<tr class="menuClickable">
<td class="td2">Club America Mexico</td>
</tr>
</table>
</div>
<div class="div1" style="width: 288px;" onclick="parent.javaScriptAddSlip('slip', '164518128;;;-;3.05;0;İlk Yarı Bahsi;164518128')">
<table class="table1">
<tr class="menuClickable">
<td class="td1">3.05</td>
</tr>
<tr class="menuClickable">
<td class="td2">Beraberlik</td>
</tr>
</table>
</div>
<div class="div1" style="width: 288px;" onclick="parent.javaScriptAddSlip('slip', '164518128;;;-;1.50;2;İlk Yarı Bahsi;164518128')">
<table class="table1">
<tr class="menuClickable">
<td class="td1">1.50</td>
</tr>
<tr class="menuClickable">
<td class="td2">Real Madrid</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
<table style="width: 100%" cellpadding="0" cellspacing="0">
<tr>
<td style="background: #36461f;color: #ffffff;font-weight: bold;padding: 2px;font-size: 12px;height: 25px;">İkinci Yarı Bahsi</td>
</tr>
<tr>
<td>
<div class="div1" style="width: 288px;" onclick="parent.javaScriptAddSlip('slip', '164518133;;;-;8.50;1;İkinci Yarı Bahsi;164518133')">
<table class="table1">
<tr class="menuClickable">
<td class="td1">8.50</td>
</tr>
<tr class="menuClickable">
<td class="td2">Club America Mexico</td>
</tr>
</table>
</div>
<div class="div1" style="width: 288px;" onclick="parent.javaScriptAddSlip('slip', '164518133;;;-;3.70;0;İkinci Yarı Bahsi;164518133')">
<table class="table1">
<tr class="menuClickable">
<td class="td1">3.70</td>
</tr>
<tr class="menuClickable">
<td class="td2">Beraberlik</td>
</tr>
</table>
</div>
<div class="div1" style="width: 288px;" onclick="parent.javaScriptAddSlip('slip', '164518133;;;-;1.40;2;İkinci Yarı Bahsi;164518133')">
<table class="table1">
<tr class="menuClickable">
<td class="td1">1.40</td>
</tr>
<tr class="menuClickable">
<td class="td2">Real Madrid</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
<br />
<br />
<br />
</body>
</html>
Installieren Sie zuerst das HTMLagilityPack- nugget-Paket in Ihrem Projekt.
Dann, als ein Beispiel:
HtmlAgilityPack.HtmlDocument htmlDoc = new HtmlAgilityPack.HtmlDocument();
// There are various options, set as needed
htmlDoc.OptionFixNestedTags=true;
// filePath is a path to a file containing the html
htmlDoc.Load(filePath);
// Use: htmlDoc.LoadHtml(xmlString); to load from a string (was htmlDoc.LoadXML(xmlString)
// ParseErrors is an ArrayList containing any errors from the Load statement
if (htmlDoc.ParseErrors != null && htmlDoc.ParseErrors.Count() > 0)
{
// Handle any parse errors as required
}
else
{
if (htmlDoc.DocumentNode != null)
{
HtmlAgilityPack.HtmlNode bodyNode = htmlDoc.DocumentNode.SelectSingleNode("//body");
if (bodyNode != null)
{
// Do something with bodyNode
}
}
}
(Hinweis: Dieser Code ist nur ein Beispiel und nicht unbedingt der beste / einzige Ansatz. Verwenden Sie ihn nicht blind in Ihrer eigenen Anwendung.)
Die HtmlDocument.Load()
-Methode akzeptiert auch einen Stream, der bei der Integration mit anderen HtmlDocument.Load()
Klassen im .NET-Framework sehr nützlich ist. Während HtmlEntity.DeEntitize()
ist eine weitere nützliche Methode für die Verarbeitung von HTML-Entitäten korrekt. (Danke Matthew)
HtmlDocument
und HtmlNode
sind die am HtmlNode
Klassen. Ähnlich wie ein XML-Parser stellt er die selectSingleNode- und selectNodes-Methoden bereit, die XPath-Ausdrücke akzeptieren.
HtmlDocument.Option??????
die HtmlDocument.Option??????
Boolesche Eigenschaften. Diese steuern , wie die Load
und LoadXML
Methoden , um Ihre HTML / XHTML verarbeiten werden.
Es gibt auch eine kompilierte Hilfedatei namens HtmlAgilityPack.chm, die eine vollständige Referenz für jedes der Objekte enthält. Dies ist normalerweise im Basisordner der Lösung.