2017-01-12 5 views
0

Ich habe folgendes Szenario. Ich habe folgendes Beispiel html. Ich brauche this.I zu analysieren bin mit HtmlAgilityPack mit VB.NetParsing Vorherige Knoten von jedem wo im HTML mit HTMLAgilityPack

<h1>Category 1</h1> 
... 
... 
<h4><a>c1</a> </h4> 
<h4><a>c2</a> </h4> 
<h4><a>c3</a> </h4> 

<h1>Category 2</h1> 
... 
... 
<h4><a>c4</a> </h4> 
<h4><a>c5</a> </h4> 
<h4><a>c6</a> </h4> 
<h4><a>c7</a> </h4> 
<h4><a>c8</a> </h4> 

<h1>Category 3</h1> 
... 
... 
<h4><a>c9</a> </h4> 
<h4><a>c10</a> </h4> 
<h4><a>c11</a> </h4> 

Ich habe Liste aller h4-Tags. Wie kann ich den vorherigen H1-Überschriftstext mithilfe von HtmlAgilityPack finden? Zum Beispiel sollte ich haben

Antwort

1

Sie können versuchen, nach früheren h1 suchen. Aber das wird es vermasseln, wenn 1 h1 fehlt. Ich bin nicht vertraut mit HtmlAgilityPack in VB.NET, also schrieb ich es in C#. Nur um dir eine Idee zu geben.

var headingNode = node.PreviousSibling; while (headingNode != null && (headingNode.Name.Equals("h4") || headingNode.Name.Equals("#text"))) { headingNode = headingNode.PreviousSibling; } //We will have first non h4 or #text here

+0

Die Lösung ist perfekt. Nur eine Änderung, die ich während der Bedingung gemacht habe, muss ich für "h1" mit Not-Operator vergleichen –

Verwandte Themen