Вниз
Скачать: CL | DM;

TXMLDocument и Out of memory   Найти похожие ветки 

 
n199a   (2012-03-27 20:22) [0]

Доброго времени суток.

Использую Delphi2007.
Создаю xml посредством TXMLDocument. Создаю ноду и записываю в нее большое значение (в данном случаe большое это строка размером 180мб):


 FDataNode := FXMLDocument.CreateNode("CDATA Node. Temporary value", ntCData);
 FRootNode.ChildNodes.Add(FDataNode);
 FDataNode.NodeValue := FLargeStringVariable;


где:
FXMLDocument - TXMLDocument
FRootNode - FXMLDocument - родительская нода
FDataNode - FXMLDocument - нода с данными
FLargeStringVariable - string размером 180 мб.

собственно в момент FDataNode.NodeValue := FLargeStringVariable; получаю ошибку "Out of memory". Если посмотреть в FXMLDocument.XML.Text то видно что значение созданной ноды - "CDATA Node. Temporary value", т.е. действительно присвоение не отработало.

Как решить проблему?
Есть ли хорошие альтернативы TXMLDocument? Какие?


 
n199a   (2012-03-27 20:24) [1]


> где:
> FXMLDocument - TXMLDocument
> FRootNode - FXMLDocument - родительская нода
> FDataNode - FXMLDocument - нода с данными
> FLargeStringVariable - string размером 180 мб.


Прошу прощения, правильно читать:

где:
FXMLDocument - TXMLDocument
FRootNode - IXMLNode - родительская нода
FDataNode - IXMLNode - нода с данными
FLargeStringVariable - string размером 180 мб.

(не сработал копипаст с виртуальной машины(, а визуальная проверка подвела)


 
tesseract ©   (2012-03-27 21:23) [2]

string в 180 метров? Может лучше BLOB использовать?


 
n199a   (2012-03-28 12:29) [3]

мм. а какая разница? В любом случае мне не ясно как содержиоме засунуть в ноду


 
Ega23 ©   (2012-03-28 12:34) [4]


> мм. а какая разница?

существенная. Может быть в 4 раза.


 
n199a   (2012-03-28 13:02) [5]


> существенная. Может быть в 4 раза.


Ясно. Очень помогло.


 
Cobalt ©   (2012-03-28 13:56) [6]

Альтернативы зависят от того, что ты делаешь и где.
и какие у тебя ограничения.


 
Ega23 ©   (2012-03-28 14:41) [7]


> Ясно. Очень помогло.


Не за что, обращайся.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.033 c
15-1420406760
Кто б сомневался
2015-01-05 00:26
2015.09.10
Чтобы Delphi IDE при старте открывал последние открытые юниты


15-1415779394
MBo
2014-11-12 11:03
2015.09.10
delphimaster.net


2-1394454003
FMX
2014-03-10 16:20
2015.09.10
SQLite + FireDAC


2-1395731174
Сергей
2014-03-25 11:06
2015.09.10
Определить тип данных


15-1421303608
ПЛОВ
2015-01-15 09:33
2015.09.10
Запрос к БД, но данные не нужны :)




   Наверх