Question

I'm having trouble finding the syntax that will return the list of UL that do not have an ID attribute.

The following will return Nothing

For Each ul As HtmlAgilityPack.HtmlNode In doc.DocumentNode.SelectNodes("//ul[@id='']")

I know it's possible to return all UL and then to a separate using an If statement, but is there a way for HtmlAgilityPack to return the list of UL that don't have an ID attribute?

Était-ce utile?

La solution

//ul[not(@id)] will do the trick.

Demo (using xmllint):

$ xmllint index.html --xpath '//ul[not(@id)]/text()'
1
3

where index.html contains:

<div>
    <ul>1</ul>
    <ul id="test">2</ul>
    <ul>3</ul>
</div>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top