HtmlAgilityPack SelectNodes-Ausdruck zu ignorieren, ein element mit einem bestimmten Attribut
Ich versuche, wählen Sie Knoten mit Ausnahme der von der Skript-Knoten und eine ul, dass ist eine Klasse namens 'relativeNav'. Kann jemand bitte leiten mich auf den richtigen Weg? Ich war auf der Suche nach diesem für eine Woche und ich kann es nicht finden überall. Derzeit habe ich diese aber natürlich ist es die Auswahl der //ul[@class='relativeNav'] als gut. Es ist trotzdem ein NICHT Ausdruck davon, so dass SelectNode ignorieren, dass man?
foreach (HtmlNode node in doc.DocumentNode.SelectNodes("//body//*[not(self::script)]/text()"))
{
Console.WriteLine("Node: " + node);
singleString += node.InnerText.Trim() + "\n";
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gegeben, ein Html-Dokument mit einer Struktur ähnlich:
Der folgende XPath-Ausdruck selektiert alle Knoten, die nicht script-Elemente ohne alle Kinder von UL-Elemente mit der Klasse "relativeNav':
Update: habe vergessen zu erwähnen, dass, wenn Sie brauchen, um auszuschließen, alle Kinder, die von ul[class='relativeNav'] unabhängig von Ihrer Tiefe, die Sie verwenden sollten:
Wenn Sie ausschließen wollten das ul-element als auch (irgendwie irrelevant in dem Beispiel oben, da das element keinen text enthalten) sollten Sie angeben:
Ich hoffe das ist was Sie brauchen: