Строка /html[1]/body[1]/section[2]/#text[2]
не является допустимым выражением XPath.Паршивое сообщение об ошибке, но вы, конечно, не ожидаете, что оно выберет что-либо.
Если вы хотите второй текстовый узел, это будет /html[1]/body[1]/section[2]/text()[2]
.Но если вам нужен текст «Строка 2 - текст здесь», то вы не выбираете узел, вы выбираете строку внутри узла, поэтому SelectNodes()
- это неправильный метод для вызова.Похоже, что вы используете процессор XPath 1.0, поэтому выполнять манипуляции со строками в самом выражении XPath будет очень сложно, обычно проще всего вернуть целые узлы языку хоста и выполнить там манипуляции со строками.Или же переключитесь на процессор XPath 2.0, и затем вы сможете использовать такие функции, как tokenize (), чтобы разбить текст на границы новой строки.