Что вы хотите извлечь, узлы или строку?
Если вы хотите узлы, "I want <em>this</em> text."
- это фрагмент XML, состоящий на верхнем уровне двух текстовых узлов и <em>
элемент , который имеет дочерний текстовый узел.Поскольку он имеет несколько узлов на верхнем уровне, вам нужно использовать SelectNodes("xpath expression a la @Alejandro")
вместо SelectSingleNode()
для их извлечения.
Если вы хотите строку, снова вам нужно использовать SelectNodes ();а затем выполнить итерацию по выбранным узлам и объединить externalHTML каждого из них.См. здесь для хорошего примера чего-то подобного.
Кроме того, из вашего примера немного неясно, что выражение XPath в целом даст вам то, что вы хотите.Например, вы хотите все после начального <p>...</p>
под <div class="top">
?Или вам нужен весь текст под <div>
, кроме all <p>
элементов?Или может что-то еще?Конечно, если у вас работают выражения @ Alejandro для XPath, то это уже достаточно точно указано.