Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.01.09;
Скачать: CL | DM;

Вниз

IXMLNode   Найти похожие ветки 

 
Igor_thief   (2004-12-21 10:56) [0]

Странный прикол при работе с TXMLNode я обнаружил вчера. Привожу пример кода:
var INewNode: IXMLNode;
...
INewNode["Firms"] := "List";
for j := 0 to MyList.Count - 1 do
begin
INewNode := INewNode.AddChild("Name");
INewNode.Text := MyList[j];
INewNode := INewNode.ParentNode;
end; // for
...
По идее этот код должен добавить несколько элементов которые будут ветками для INewNode["Firms"] значение которого равно лист, так-как NodeAutocreate = true. НО на самом то деле, все элементы добавляются на одном уровне с List.
Чтобы все работало корректно надо сделать так:
var INewNode: IXMLNode;
...
INewNode := INewNode.AddChild("Firms");
INewNode.Text := "List";
for j := 0 to MyList.Count - 1 do
begin
INewNode := INewNode.AddChild("Name");
INewNode.Text := MyList[j];
INewNode := INewNode.ParentNode;
end; // for
...
В чем прикол? Ведь при обеих способах создается ветка List, но в первом случае элементы в цикле добавляются тоже как ветки, а во втором, они добавляются как и надо как листья ветки List.


 
ЮЮ ©   (2004-12-21 12:11) [1]

Если INewNode["Firms"] := "List"; по смыслу аналогично  INewNode.AddChild("Firms"), т.е. созданию нового узла, то это не значит, что INewNode автоматически станет указывать на этот самый новый узел и, соответственно, следующий код тоже будет добавлять узлы туда же, куда и List. Во втором же случае ты явно указаваешь в качестве INewNode узел List.


 
Igor_thief   (2004-12-21 12:24) [2]

ЮЮ ©   (21.12.04 12:11) [1]
Точно! Сенкс!



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

Текущий архив: 2005.01.09;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.039 c
14-1103639656
Чеширский_Кот
2004-12-21 17:34
2005.01.09
MONEY: Алексу, Мазуту и всем-всем-всем


14-1103541588
vajo
2004-12-20 14:19
2005.01.09
Сертификат соответствия


1-1103704393
lost3000
2004-12-22 11:33
2005.01.09
Сортировка в ListBox с сохранением старого ItemIndex


14-1103731070
Almaz
2004-12-22 18:57
2005.01.09
Каталог оптовых цен на продукты питания в 2003 г.


1-1103805465
Viruz
2004-12-23 15:37
2005.01.09
Отладка