The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"как правильно записать данные в XML-файл"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы WEB технологии (Public)
Изначальное сообщение [Проследить за развитием треда]

"как правильно записать данные в XML-файл"  
Сообщение от Alex Golubin on 17-Фев-06, 17:01 
Стоит задача на рабочих станциях пользователей
1) вытаскивать данные из активного каталога через LDAP-запрос;
2) позволять их редактирование пользователями;
3) сохранять в одном для всех XML-файле на сервере для последующего парсинга, проверки и записи в активный каталог с подтверждения админа.
Была написана оболочка .hta со вставками javascript, в которых без особого труда решены пп 1) и 2). На п.3) возникла проблема как правильно написать сохранение в xml-файл, чтобы документ:
1) всегда содержал корневой элемент;
2) имел минимальную вероятность быть испорченным в процессе записи двумя сессиями одновременно.
По определённым причинам использование объекта Scripting.FileSystemObject с дальнейшим методом OpenTextFile никак нельзя считать приемлемым.
Поскольку мои личные познания на этом рубеже заканчиваются :), не может ли уважаемый All подсказать методы решения п.3) задачи в цивилизованном мире. Если не очень затруднит, то с указанием ссылок в msdn или примерами.
С уважением,
Голубин Александр
Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "как правильно записать данные в XML-файл"  
Сообщение от Alex Golubin on 17-Фев-06, 17:14 
Прочитал два способа записи в XML-файл. Прошу принять во внимание следующее:
1) добавление элементов в файл происходит распределённо как по месту, так и по времени;
2) пользователей домена несколько тысяч, а значит грузить весь файл к клиенту, доформировывать его и сохранять назад не целесообразно.

Расчитываю на то, что есть способ сохранения элементов в хранилище данных xml по технологии клиент-сервер, по аналогии с запросами insert и update.
Если кто знает, как это всё настроить, выскажитесь пожалуйста

С уважением,
Голубин Александр


Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

2. "как правильно записать данные в XML-файл"  
Сообщение от Akademic (ok) on 17-Фев-06, 17:16 
>2) имел минимальную вероятность быть испорченным в процессе записи двумя сессиями одновременно.

Для разрешения конфликтов на запись с древних времён используют блокировки и очереди запросов.
При доступе проверяется специальный файл или другой источник (БД, память...) на тему "не пишет ли кто уже", если нет, то ставится такая метка, а после окончания работы снимается. Если метка уже есть, то можно либо остановиться, либо положить запрос на запись в очередь (тоже файл или что-н. там), а затем запрос отрабатывается.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

3. "как правильно записать данные в XML-файл"  
Сообщение от Alex Golubin on 17-Фев-06, 17:24 
>Для разрешения конфликтов на запись с древних времён используют блокировки и очереди
>запросов.
>При доступе проверяется специальный файл или другой источник (БД, память...) на тему
>"не пишет ли кто уже", если нет, то ставится такая метка,
>а после окончания работы снимается. Если метка уже есть, то можно
>либо остановиться, либо положить запрос на запись в очередь (тоже файл
>или что-н. там), а затем запрос отрабатывается.
согласен, так и делал в начале при помощи lck-файла, но к сожалению, сам метод доступа при помощи OpenTextFile("..", forAppending); не позволяет сохранить корневой элемент разметки xml
есть способы, вернуться назад, затереть закрывающий корневой элемент, записать субэлемент и завершить файл закрывающим корневым элементом? я не нашёл
Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру