문제

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?

도움이 되었습니까?

해결책

//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>
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top