Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / xpath + вытащить N-записей / 8 сообщений из 8, страница 1 из 1
07.05.2008, 19:18
    #35300851
michael R
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
xpath + вытащить N-записей
есть текст условно такой
использую VB6
текст может быть очень большим

Код: plaintext
1.
<ROOT><a x=""1"" /><a x=""2"" /><a x=""3"" /><a x=""4"" /><a x=""5"" /></ROOT>

я знаю количество нодов (5) для данного примера только
кол-во страниц по 2 нода в каждом (3) для данного примера только

вопрос как пробегаясь в цикле по страницам (3) раза через xpath получить 3 блока XML
без использования внутренего цикла
Код: plaintext
1.
2.
3.
4.
 
    1   <a x=""1"" /><a x=""2"" />
    2   <a x=""3"" /><a x=""4"" />
    3   <a x=""5"" />

дайте хоть какую то идею
...
Рейтинг: 0 / 0
07.05.2008, 23:18
    #35301120
xpath + вытащить N-записей
michael Rвопрос как пробегаясь в цикле по страницам (3) раза через xpath получить 3 блока XML
сформулируйте поточнее, что надо в итоге получить?
...
Рейтинг: 0 / 0
07.05.2008, 23:29
    #35301130
michael R
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
xpath + вытащить N-записей
это своего рода постраничный вывод
есть N-нодов и в каждой странице K-нодов
соответсвенно кол-во страниц есть [N/K] +( if N mod K>1 then 1 else 0)
так вот нужно получить в цикле по страницам все ноды по K-нодам в каждой
но нужно только без использования внутреннего цикла который собирает ноды в страницу
...
Рейтинг: 0 / 0
08.05.2008, 00:08
    #35301165
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
xpath + вытащить N-записей
michael Rно нужно только без использования внутреннего цикла который собирает ноды в страницу
А откуда такое требование?
...
Рейтинг: 0 / 0
08.05.2008, 10:06
    #35301565
michael R
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
xpath + вытащить N-записей
_Vasilisk_ А откуда такое требование?


этот XML забрасывается в SQL server
из-за того что много данных приходится его резать иначе процедура падает
и забрасывать кусками
процедуру уже поменять не получится
если собирать XML блоками в цикле можно будет повесится
поэтому он был сделан целиком и быстро
так вот вопрос как его разрезать блоками
...
Рейтинг: 0 / 0
08.05.2008, 10:33
    #35301664
Green2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
xpath + вытащить N-записей
2 michael R
Самый быстрый алгоритм для обработки текста это конечный автомат.
Поскольку тебе известен входной текст, ты можешь его написать.
(Кстати, из твоего первого поста я не понял суть задания)
Второй по скорости алгоритм это использование регулярных выражений. По моему, это тебе тоже подходит.
Самый медленный это xPath. Но зато он самый удобный.
--

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
08.05.2008, 12:51
    #35302238
michael R
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
xpath + вытащить N-записей
задание такое

есть исходный файл текстовый
из него я вытаскиваю нужные данные через regexp и сразу заменяю их в XML нужной формы
всё это без цикла используется 3 замены и всё
если использовать цикл то это клет
в конце получаю один XML огромной величины 60 тыс примерно может будет больше
если весь текст закинуть в SQL через процедуру то падение
если заброс блоками то нормально

вопрос как организовать вытаскивание блоками по N-нодов
только через один цикл


Код: plaintext
1.
<ROOT><a x=""1"" /><a x=""2"" /><a x=""3"" /><a x=""4"" /><a x=""5"" /></ROOT>

блоки такие
Код: plaintext
1.
2.
3.
<a x=""1"" /><a x=""2"" />
<a x=""3"" /><a x=""4"" />
<a x=""5"" />

данные условные не нужно привязываться к числам
...
Рейтинг: 0 / 0
13.05.2008, 16:30
    #35309584
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
xpath + вытащить N-записей
Код: plaintext
1.
2.
3.
4.
<apply-templates select="a[position() mod $K = 1]" mode="pages"/>

<template match="a" mode="pages">
<apply-templates select=".|following-sibling::a[position()<=$K - 1]"/>
</template>
...
Рейтинг: 0 / 0
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / xpath + вытащить N-записей / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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