Note that there are some explanatory texts on larger screens.

plurals
  1. POPython XPath Result displaying only []
    text
    copied!<p>Hey I have just started to use Python recently and I want to use it with a bit of xPath, the thing is when I print the result of the query I only get [] and I don't know why =S</p> <pre><code> import libxml2, urllib doc = libxml2.parseDoc(urllib.urlopen("http://www.domain.com/").read()) result = doc.xpathEval("//th//td[(((count(preceding-sibling::*) + 1) = 2) and parent::*)]//a") if result != []: print result elif result == "": print "null" else: print result doc.freeDoc() </code></pre> <p>I get no error whatsoever just a []. What could it be? also is there any better documentation for libxml2 than the one <a href="http://xmlsoft.org/html/index.html" rel="nofollow noreferrer">here</a> since I find it reaaaally confusing =S</p> <hr> <p><strong>Edit</strong></p> <p>I changed the code, so now I get more than the [] I get the following output which should be related to the non-validity of the html I'm trying to parse (but it's not mine so I can't modify it). Any ideas on to how to tell Python to be more forgiving with that fact?</p> <blockquote> <p>^ Entity: line 3552: parser error : Premature end of data in tag tr line 209</p> <p>^ Entity: line 3552: parser error : Premature end of data in tag tbody line 208</p> <p>^ Entity: line 3552: parser error : Premature end of data in tag table line 207</p> <p>^ Entity: line 3552: parser error : Premature end of data in tag input line 206</p> <p>^ Entity: line 3552: parser error : Premature end of data in tag input line 205</p> <p>^ Entity: line 3552: parser error : Premature end of data in tag form line 204</p> <p>^ Entity: line 3552: parser error : Premature end of data in tag table line 99</p> <p>^ Entity: line 3552: parser error : Premature end of data in tag div line 98</p> <p>^ Entity: line 3552: parser error : Premature end of data in tag body line 96</p> <p>^ Entity: line 3552: parser error : Premature end of data in tag html line 3</p> <p>^ Traceback (most recent call last): File "C:\Python26\lib\site-packages\libxml2.py", line 1263, in parseDoc if ret is None:raise parserError('xmlParseDoc() failed') libxml2.parserError: xmlParseDoc() failed</p> </blockquote> <p>It's actually a longer list but there's no point in placing it all here, since all errors are due to invalid html.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload