Робота з xml

Робота з XML

Підкажіть будь ласка, як зробити, щоб дані з XML файлу відобразилися в DBGrid? Які для цього використовувати компоненти і як їх між собою пов'язувати?

Єдиний стандарний компонент працює з ХМL - Clientdataset, але у нього свій формат xml-файлу.
ІХМО, у тебе два шляхи.
1. створити ХМЛ з відповідною структурою і згодувати Clientdataset "у
2. зі свого ХМЛ передати дані в Clientdataset, звертаючись до нього як до dataset "у. (Краще)

*. при бажанні можна і свій спадкоємець від Tcustomdataset написати. Але це повозитися доведеться.


> TXMLTransform може зробити з будь-якого придатний для ClientDataset

можна хоч трохи детальніше? Намагаюся вибрати файл у властивості TransformationFile у XMLTransform, так там тільки з розширенням xtr вибрати можна.

> Намагаюся вибрати файл у властивості TransformationFile у XMLTransform,
> Так там тільки з розширенням xtr вибрати можна.

TXMLTransform uses a special XML document called a transformation, which indicates how to perform the conversion. This transformation is specified by the TransformationFile or TransformationDocument property. You can generate a transformation file using the xmlmapper.exe utility.

DOM + вручну запостити рядки в TClientDataSet

1. Бажано мати вихідний XML-файл, якщо його немає, створити такий же, по крайней мере структуру.
2. У Делфі (v7) меню tools -> XML Mapper, слефа відкриваєш вихідний файл, посередині вибираєш Client Dataset, Xml to datapacket.
3. Зліва вибираєш вузли, готорие повинні бути в датасета, посередині вибираєш властивості.
4. Тиснеш Ctrl + D
5. Тиснеш Create and test transformation
6. В меню зберігаєш трансформацію
В результаті маємо файл xtr
далі

XMLTransform1.SourceXMLFile: = "SourceDocument.xml";
XMLTransform1.TransformationFile: = "твой.xtr";
ClientDataSet1.XMLData: = XMLTransform1.Data;
Все це є в хелпе.

Пам'ять: 0.73 MB
Час: 0.05 c

Схожі статті