Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.12.11;
Скачать: [xml.tar.bz2];

Вниз

Поиск в 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.037 c
4-1128649481
Wood
2005-10-07 05:44
2005.12.11
Расширенный MessageBox


6-1125535648
DeathLess
2005-09-01 04:47
2005.12.11
Скачать файл с докачкой


14-1132392037
Separator
2005-11-19 12:20
2005.12.11
XML


2-1132942844
The One
2005-11-25 21:20
2005.12.11
EAccessViolation при обращении к полю класса


4-1129145897
Вася
2005-10-12 23:38
2005.12.11
Подскажите софтину для просмотра свойств, определения Handlов...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский