![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
очистка IXMLDocument
cross © (2011-02-10 16:19:00)приложение загужает xml-файл. если xml-файл удалось загрузить, необходимо очистить все содержимое root-узла, если загрузить файл не удалось нужно сформировать xml-файл (добавить пустой root-узел). Как правильно сделать?
Мой вариант:
procedure TForm1.FormCreate(Sender: TObject);
var
I: Integer;
WorkXML: IXMLDOMDocument;
begin
WorkXML := CoDOMDocument.Create;
if WorkXML.load('D:\test.xml') then
with WorkXML.documentElement do
for I := childNodes.length - 1 downto 0 do
removeChild(childNodes[I])
else
WorkXML.documentElement := WorkXML.createElement('zzz');
ShowMessage(WorkXML.xml);
end;
Dennis I. Komarov (2011-02-10 16:57:00) [1]тогда если не будет, не прибегай жаловаться...
Dennis I. Komarov (2011-02-10 16:56:00) [2]я понял что если xml "правильный", т.е. он внутри xml да еще и некой правильной структуры, то он его не трогает, во всех других противных - надо "типа очистить"...
cross (2011-02-10 16:55:00) [3]все ясно, спасибо.
последнее, что хочу уточнить, для чего в сроке указывать <?xml version="1.0"?>?, без него вроде как работает
Медвежонок ХМЛ (2011-02-10 16:51:00) [4]
//if not({1} and {1.1}) then
загружаем "пустой шаблон"
Dennis I. Komarov (2011-02-10 16:50:00) [5]if not({1} and {1.1}) then загружаем "пустой шаблон"
Медвежонок ХМЛ (2011-02-10 16:45:00) [6]если xml-файл удалось загрузить, необходимо очиститьвсе содержимое root-узла, если загрузить файл не удалосьнужно сформировать xml-файл (добавить пустой root-узел).
ИТОГО:
в обоих случаяху нас документ с пустым рутом без чайлдов.
зачем там что-то чистить,
если можно сделать loadxml('<?xml version="1.0"?><root/>');
cross (2011-02-10 16:42:00) [7]объясню более подробно задачу:
приложение загружает xml-файл (WorkXML.load: Boolean):
1. если True:
1.1 анализ содержимого xml-файла (analyze: Boolean)
1.1.1 если True: - оставляем все как есть
1.1.2 если False: - очищаем xml-файл оставив только root-узел + формируем содержимое
2. если False
2.1 очищаем xml-файл оставив только root-узел + формируем содержимое.
Как грамотно реализовать очистку и заполнение новым сожержимым root-узла?
Медвежонок ХМЛ (2011-02-10 16:30:00) [8]строковая константа, в которой текст документа с рутом без чайлдов.
cross (2011-02-10 16:29:00) [9]не понял, что имеете ввиду, можно подробнее объяснить, что за константа и что за шаблон.
Медвежонок ХМЛ (2011-02-10 16:27:00) [10]если xml-файл удалось загрузить, необходимо очистить все содержимое root-узла, если загрузить файл не удалось нужно сформировать xml-файл (добавить пустой root-узел). Как правильно сделать?
в таком извращенном случае надо сразу грузить документ с пустым рутом (без чайлдов)
Медвежонок ХМЛ (2011-02-10 16:25:00) [11]LoadXML + константа-шаблон