powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / как посчитать количество записей в файле xml ?
2 сообщений из 2, страница 1 из 1
как посчитать количество записей в файле xml ?
    #33604285
Bobrov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
для подсчета записей в файле xml использую метод :

select @metod = 'documentElement.childNodes.length'
exec @return = sp_OAMethod @obj, @metod, @item output
select @count = cast(@item as int)

для файлов не имеющих вложенных узлов работает нормально, @count выдает кол-во записей, если есть вложенные узлы - всегда выдает 1, посоветуйте плиз как решить проблему
...
Рейтинг: 0 / 0
как посчитать количество записей в файле xml ?
    #33604527
qu-qu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bobrov... всегда выдает 1, посоветуйте плиз как решить проблему

По-моему это вам метод Load(XML) "всегда выдает 1" (это у него код возврата такой, "логический").
У меня вот так заработало и с "вложенными узлами":
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
SET NOCOUNT ON
DECLARE @object int
CREATE TABLE #load_result (ret_code int) 
DECLARE @hr int
DECLARE @src varchar( 8000 ), @count int
SET @src = '<root><el1><el2/></el1><el1><el2/><el2/></el1><el1><el2><el3/></el2></el1><el1><el2/><el2><el3/></el2></el1></root>'
EXEC @hr = sp_OACreate 'MSXML2.DOMDocument', @object OUT
IF @hr <>  0 
BEGIN
   EXEC sp_OAGetErrorInfo @object
    RETURN
END
INSERT INTO #load_result (ret_code)
EXEC @hr = sp_OAMethod @object, 'loadXML', null, @src
/* или так (тоже работает):
DECLARE @load_res int
EXEC @hr = sp_OAMethod @object, 'loadXML', @load_res OUT, @src
*/
IF @hr <>  0 
BEGIN
   EXEC sp_OAGetErrorInfo @object
    RETURN
END
EXEC @hr = sp_OAGetProperty @object, 'documentElement.childNodes.length', @count OUT
IF @hr <>  0 
BEGIN
   EXEC sp_OAGetErrorInfo @object
    RETURN
END
SELECT @count as el1_count
DROP TABLE #load_result
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / как посчитать количество записей в файле xml ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]