Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Indexator [D5, D6, D7, Win2k, WinXP]


SkyP ©   (2004-07-20 10:28:00) 

Как в Дельфе можно реализовать
такую структуру:

 str:=SomeObject.Values['Alex'].Values['Fox'];
 str2:=SomeObject.Values['Alex'];

... и т.д.
знаюч что можно через THashedStringList организовать
но проблема с построением 2,3 -его и т.д уровня
просто непонимаю
так как возвращаться всегда должно строку в свойстве

подскажите, ясно что нужно писать класс


Digitman   (2004-07-20 10:56:00) [1]

пример использования сервера XMLDOMDocument

пример оперирует источником данных в XML-формате для получения значений узлов, дочерних по отн-ю к узлу APPLICATION_DATA\FAHRZEUG в нижеслед. струтуре

<?xml version="1.0"?>
<APPLICATION_DATA>
<HEADER/>
 <AUFTRAG>
  <AUFTRAGSNUMMER/>
  <KUNDENNUMMER/>
  <KUNDENKURZNAME/>
  <KUNDENDIENSTBERATER/>
 </AUFTRAG>
 <FAHRZEUG>
  <FAHRZEUGIDENTNR/>
  <MODELLJAHR/>
  <MARKE/>
  <FAHRZEUGKLASSE/>
  <KAROSSERIE/>
  <AUSSTATTUNG/>
  <AGGREGAT/>
  <MKB/>
  <GKB/>
  <AKB/>
  <AMTLKENNZEICHEN/>
</FAHRZEUG>
</APPLICATION_DATA>

function TElsaWin.Get_VehicleIdentification: TVehicleInfo;
var
 XMLDOMDocument: IXMLDOMDocument2;
 VehicleIdNode: IXMLDOMNode;
begin
 try
   XMLDOMDocument := CoDomDocument.Create;
   try
     Connected := True;
     with XMLDOMDocument do
     begin
       LoadXML(FElsaWinApp.Data);
       VehicleIdNode := SelectSingleNode('APPLICATION_DATA').SelectSingleNode('FAHRZEUG');
       with VehicleIdNode, Result do
       try
         ModelYear     := SelectSingleNode('MODELLJAHR').Text;
         SalesModel    := SelectSingleNode('MARKE').Text;
         ClassId       := SelectSingleNode('FAHRZEUGKLASSE').Text;
         CarosSerieId  := SelectSingleNode('KAROSSERIE').Text ;
         ASNo          := SelectSingleNode('AUSSTATTUNG').Text;
         PowerUnitId   := SelectSingleNode('AGGREGAT').Text;
         EngineId      := SelectSingleNode('MKB').Text;
         GearId        := SelectSingleNode('GKB').Text;
       finally
         VehicleIdNode := nil;
       end;
     end;
   finally
     XMLDOMDocument := nil;
   end;
 except
   raise EElsaWinError.Create(4);
 end;
end;


Digitman   (2004-07-20 10:47:00) [2]


> SkyP


можешь еще "пощупать" TJvSimpleXML из состава JEDI-пакета, он - с исх.текстами и , imho, поудобней с т.з. интуитивно понятного интерфейса


SkyP   (2004-07-20 10:37:00) [3]

гм ...
кстати, суть и сводилась что б читать все из XML :)

спасибо за идею !!!

подумаю что получиться из этого


Digitman   (2004-07-20 10:34:00) [4]


> ясно что нужно писать класс


зачем его писать-то ?
бери на вооружение любой XML-движок, например, XMLDOMDocument - он все это реализует


Наверх

Титульная страница Поиск, карта сайта Написать письмо