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

Вниз

Поиск в TXMLDocument   Найти похожие ветки 

 
Шурик Ш   (2005-10-24 11:59) [0]

Задавал этот вопрос в пятницу, но, к сожалению, не получил ожидаемого ответа. Видно, спрашивал не тем языком.
Итак, попробую перефразировать вопрос:
Я записываю содержимое XML-файла в TTreeView. Записываю только элементы (Nоde) и пропускаю атрибуты.
Внимание вопрос, как при выборе пользователем элемента TTreeView найти соответствующий ему элемент в TXMLDocument для того, чтобы вывести на экран атрибуты?


 
umbra ©   (2005-10-24 14:01) [1]

не тестировал, но принцип такой:


procedure GetNodeAttrs(parents: TStrings);
var
 mynode: IXMLNode;
 attrs : WideString;
 lev: Integer;
 tvnode : TTreeNode;

begin
 parents.Clear;
 lev := TreeView1.Selected.Parent.Level;
 parents.Add(TreeView1.Selected.Text);
 while lev > 0 do
   begin
     tvnode := TreeView1.Selected.Parent;
     parents.Add(tvnode.Text);
     dec(lev);
   end;
 mynode := XMLDocument1.DocumentElement;
 for lev := parents.Count - 1 downto 0 do
   mynode := mynode.ChildNodes.FindNode(widestring(parents[lev]));
 parents.Clear;
 for lev := 1 to mynode.AttributeNodes.Count do
   begin
     attrs := mynode.AttributeNodes[lev].Text + "=" + mynode.Attributes[mynode.AttributeNodes[lev].Text];
   parents.Add(attrs);
   end;
end;



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

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

Наверх




Память: 0.46 MB
Время: 0.045 c
1-1131782900
mfender
2005-11-12 11:08
2005.12.11
TDateTime и зимнее/летнее время и пересчёт из/в UNUX Timestamp


1-1131704477
DelphiLexx
2005-11-11 13:21
2005.12.11
DosToWin


2-1132703705
Дева
2005-11-23 02:55
2005.12.11
Query свойство Active


2-1132514607
Nikos
2005-11-20 22:23
2005.12.11
Непонятная ошибка при завершении программы.


2-1132733680
ВоваВова
2005-11-23 11:14
2005.12.11
как разбить строку?