Вы не показываете, как были выбраны узлы в наборе узлов.Скорее всего, они являются элементами, и это является причиной вашей проблемы.
Решение простое :
Создайте и используйте выражение XPath, которое выбирает только требуемый текстовые узлы .
Например, вместо :
/x/y/z
использовать
/x/y/z/text()
Последнее выражение выбирает любой текстовый узел, который является дочерним элементом любого элемента с именем z
, который является дочерним элементом любого элемента с именем y
, который является дочерним элементом верхнего элемента с именем x
.
ОБНОВЛЕНИЕ :
ОП пояснил в комментарии:
"Спасибо, я пробовал это, но он дает мой реальный текст в узле. Я хочуСтроковое представление всего (узлов и текста) в текущем узле, без информации о родительских узлах. Например, если бы я просто имел XML-файл и открыл его в текстовом редакторе, а затем скопировал некоторое поддерево. Знаете ли вы, что яо чем? "
Это можно сделать в XSLT, используя
<xsl:copy-of select="yourExpression/node()"/>
В качестве альтернативы, если ваш XML API это позволяет, для каждого выбранного узла используйте:
theSelectedNode.InnerXml