Вы не можете этого сделать, потому что строка, которую вы хотите заменить, - это node Value
узла text1
. Вариант будет структурировать его следующим образом:
<text1>
<partial>here is a list of pencils</partial>
<id>1</id>
<partial>.here is a list of another type of pencils</partial>
<id>2</id>
</text1>
Но, честно говоря, это неоптимально.
Полагаю, что вас смутило (и меня там на секунду) то, как мы пишем HTML:
<p>some text here <a href="...">a link</a> more <strong>variation</strong></p>
Что может создать у нас впечатление, что это также должен быть действительный XML; но, конечно, есть еще одна вещь, которую нужно знать; что браузеры фактически преобразуют предыдущий HTML в следующую форму (~):
<p>
<textnode>some text here </textnode>
<a href="...">
<textnode>a link</a>
</a>
<textnode> more </textnode>
<strong>variation</strong>
</p>
Не ответ, но я бы порекомендовал вам переосмыслить свой формат XML.