How to get node value / innerHTML with XPath?
html-parsing, parsing, xml, xpath
Solution
With xpath, the thing you will get returned is the last thing in the path that is not a condition. What that means? Well, conditions are the stuff between `[]`'s (but you already knew that) and yours reads like pathElement[that has a 'class' attribute with value 'my class']. The pathElement comes directly before the `[`.
All the stuff outside of `[]`'s then is the path, so in `//a/b/c[@blah='bleh']/d` a, b, c and d are all path elements, blah is an attribute and bleh a literal value. If this path matches it will return you a d, the last non-condition thing.
Your particular path returns a (series of) div, being the last thing in your xpath's path. This return value thus includes the top-level node(s), div in your case, and underneath it (them) all its (their) children. Nodes can be elements or text (or comments, processing instructions, ...).
Underneath a node there can be multiple text nodes, hence the array pOcHa talks about. `x/text()` returns all text that is a direct child of x, `x/node()` returns all child nodes, including text.
Problem
I have a XPath to select to a class I want: `//div[@class='myclass']`. But it returns me the whole div (with the `<div class='myclass'>` also, but I would like to return only the contents of this tag without the tag itself. How can I do it?