Как я уже говорил, все ответы, рекомендующие использовать xml:space="preserve"
, неверны .
Атрибут xml:space
может использоваться только для управления обработкой только пробельных узлов , то есть текстовых узлов, состоящих из полностью из пробельных символов.
Это совсем не относится к текущей проблеме.
Фактически, приведенный ниже код правильно получает длину 2 для текстового узла, содержащегося в:
<xml> 2</xml>
Вот код VB, который правильно получает длину текстового узла (не забудьте добавить ссылку на «Microsoft XML, v 3.0»):
Dim xml As MSXML2.DOMDocument
Private Sub Form_Load()
Set xml = CreateObject("MSXML2.DOMDocument")
xml.async = False
xml.loadxml "<xml> 2</xml>"
Dim n
n = Len(xml.documentelement.selectSingleNode("text()").nodeValue)
wscript.echo Len(n)
End Sub
Если вы поставили точку останова на линии:
wscript.echo Len(n)
вы увидите, что когда отладчик ломается, значение n
равно 2, как и требуется.
Следовательно, этот код является решением , которое искали.