I'll look at this later, but the "//pre//text()" is xpath.
The first part "//pre" says "grab all 'pre' nodes in this document." In this case, we're talking about the HTML pre tags that contained the stuff I wanted in that example (look at the source code and see where the pre tags are). Just recognize that HTML is an XML document. It is an XML document with a specific namespace specification that has existed long before XML (a more generic abstraction of HTML to give structure to any type of document, not just web documents). I'm also saying, grab all pre tags, not any that are under some other node (e.g., "//someNode//pre").
The second part "//text()" executes a function on the node. As the xpath tutorial link will detail somewhere, there are ways to process your document elements. You can say, subset based off of certain properties, look at attributes (e.g., a tag "img src='some image url' height='400' width='400'" has 3 attributes specified on an img tag), or as I do, access the text contained within the tag. Usually you do a tag <someTag> ... blah blah ... </someTag. That stuff between the opening and closing tag is what the xpath text() function will return, and that was all the content we needed to parse in that example.
So when you say "get me an HTML table" you're basically just looking for table nodes in the XML document and parsing the table rows (tr) and table data (td) tag text for its information. You can do this manually, but it's pretty standard (tabular), so XML comes with a function for it.
Get it now?