Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
146 / 143 / 32
Регистрация: 21.01.2012
Сообщений: 545
1

Как добавить узел в документ XML не загружая в память весь документ

15.07.2012, 19:01. Показов 1527. Ответов 5
Метки нет (Все метки)

Вот собственно вопрос
сейчас использую XDocument. То есть формирую узел XElement, добавляю его в xDocument и пишу на диск весь xDocument.
Хотелось бы записывать узел в файл сразу.
И вдогонку вопрос: можно ли получать данные по запросу из файла минуя загрузку всего документа.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.07.2012, 19:01
Ответы с готовыми решениями:

Как из С# добавить макрос в существующий .doc документ?
Как из С# добавить макрос в сущевствующий .doc документ

Как скрестить XML-документ из базы с имеющимся .xsl средствами XslTransform
Люди! Имеем следующее: в Oracle есть хранимая процедура, задача которой сформировать...

Как можно с помощью библиотеки OpenXML конвертировать документ DOCX в document.XML и обратно
Добрый день! Интересует, как можно с помощью библиотеки OpenXML конвертировать документ DOCX...

Как добавить вордовский документ в базу
Добрый день! у меня такая проблема! мне нужно добавить в базу compact 3.5 doc файл. Как мне это...

5
Эксперт .NET
15449 / 11712 / 3076
Регистрация: 17.09.2011
Сообщений: 19,603
15.07.2012, 19:04 2
Насколько мне известно, нельзя. Если пользоваться стандартными классами для работы с XML, а не парсить файл вручную.

Да и в чем, собственно, смысл? Файл настолько большой, что его загрузка в память может свалить систему?
Чем объясняется жертвование производительностью и сохранностью данных?
1
71 / 16 / 2
Регистрация: 29.12.2010
Сообщений: 339
16.07.2012, 08:06 3
Может я ламер, но потоковое чтение? И вручную парсить? По одной строке читать, пытаясь вырвать нужные данные? Скорость будет меньше, но память грузиться не будет
1
Эксперт .NET
15449 / 11712 / 3076
Регистрация: 17.09.2011
Сообщений: 19,603
16.07.2012, 10:35 4
Цитата Сообщение от Смирняга Посмотреть сообщение
потоковое чтение? И вручную парсить? По одной строке читать, пытаясь вырвать нужные данные?
Похоже, это - единственный вариант. Правда тогда отпадает весь смысл использования классов для работы с XML.

Цитата Сообщение от Смирняга Посмотреть сообщение
Скорость будет меньше, но память грузиться не будет
Если файл вырос до таких размеров, что загрузка его в память представляет проблему, то это верный признак того, что выбранный метод хранения данных не масштабируется должным образом с растущими требованиями к приложению. А значит, хранение данных должно быть перенесено в другое место - базу данных.
2
71 / 16 / 2
Регистрация: 29.12.2010
Сообщений: 339
25.07.2012, 18:44 5
Блин. А я думал, что я ламер(
0
Эксперт Java
4077 / 3811 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 11
26.07.2012, 08:22 6
Цитата Сообщение от KeBJIaP Посмотреть сообщение
можно ли получать данные по запросу из файла минуя загрузку всего документа.
А вот это можно - нужно использовать SAX парсер, вместо обычного DOM.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.07.2012, 08:22

Как внедрить XSL файл в XML документ?
Как внедрить XSL файл в XML документ, так, чтобы это все потом работало. Слышал про такую...

Как добавить watermark в word документ?
Ludi podskajite! Sleduyushaya problema neobxodimo dobavit watermark (background-image) v word...

Не привязывается xml документ
Добрый день! Привязываю к datagrid два xml-документа. Один well-formed, точно такой же как и второй...

Как прочитать XML документ с тэгами и атрибутами подобного рода
Добрый день! Имеется документ XML вида: <?xml version="1.0" encoding="utf-8" ?> <blocks>...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.