//node/text()
you will get a set of three lines, since the text is broken by the child nodes
Text='' Text='some_text_2' Text=''
UPDATE All I can offer you is
//node/text()[2]
but this if it is always the second piece of text.
update2 To commentary to Dmitry's answer
I did not know that text () can be considered as an independent unit, and not a property of the node - thanks to Dmitry. This, indeed, enables the correct solution of the problem. In his answer, the first approximation is given. For the general case, we will think that the text we need can be dissected by other tags, for example,
</sub_node_1> some_text<br/>3 <sub_node_2>
His solution will give only some_text . To really find all the text between the given tags, the expression should be a bit more complicated.
//node/sub_node_1/following-sibling::text()[following-sibling::sub_node_2]
For the example above, it will give
Text='some_text' Text='3'