2013-04-24 2 views
1

, так что я в большой неприятности atm: Я разбираю XML-файл, и для этого хочу подсчитать все записи. Мой код работает хорошо, но я тестировал его с помощью очень большого XML-файла, и ничего не случилось. Поэтому я попытался выяснить, где ошибка.SelectNodes .length возвращает 0

Dim nodeCount : nodeCount = oXML.SelectNodes("/root/abc/*").length  

Это работает для XML-файлов до 6.000 Entrys (Около 40к-строк кода), но если число больше, она возвращает 0. Таким образом, я понятия не имею, как это исправить.

+1

Я думаю, что SelectNode не может удерживать это количество записей. – Leagis

+0

Вы уверены, что это связано с размером? Обычная проблема с XPath, не выбирая узлы, которые, по вашему мнению, следует выбирать, это пространства имен, то есть объявление пространства имен по умолчанию, например ' ...', который помещает 'root 'и его потомков в пространство имен (например,' http: // example.com/ns'), и таким образом путь '/ root/abc', который выбирает элементы без пространства имен, не находит никаких элементов. –

+0

Ваша переменная 'oXML' заполнена. когда вы вводите исходный xml в эту переменную, у нее заканчивается пробел. – Malachi

ответ

1

в VBScript самая большая переменная, которую вы получаете для текста, является строкой, и она будет содержать только около 2 миллиардов символов.

VBScript Data Types

после переменной (oXML) бежит из космоса он просто отрезает и из закрытия помечает XPath не будет правильно запроса и не возвращает никаких данных.

Вы пытались написать код в Regular VB, у вас были бы большие переменные типы? это даже вариант?

Смежные вопросы