Lucrul cu XML
Spuneți-mi cum să fac datele din fișierul XML să apară în DBGrid? Ce componente ar trebui utilizate în acest scop și cum ar trebui să fie legate între ele?
Singura componentă standard care lucrează cu XML este Clientdataset, dar are propriul format de fișier xml.
tu, ai două căi.
1. creați o șuncă cu structura adecvată și alimentați setul de clienți
2. Din transferul hml, datele se trimit la Setul de clienți, referindu-se la acesta ca un set de date "y. (Better)
*. dacă doriți, vă puteți scrie propria moștenitoare de la Tcustomdataset. Dar va trebui să vă faceți griji.
> TXMLTransform poate face orice potrivite pentru ClientDataset
pot fi cel puțin puțin mai detaliat? Încerc să selectez un fișier din proprietatea TransformationFile a XMLTransform, deci nu puteți selecta decât extensia xtr.
> Încerc să selectez un fișier în proprietatea TransformationFile din XMLTransform,
> deci exista doar cu extensia xtr este posibil sa alegeti.
TXMLTransform utilizează un document special XML numit transformare, care indică modul de efectuare a conversiei. Această transformare este specificată de proprietatea TransformationFile sau TransformationDocument. Puteți genera un fișier de transformare utilizând utilitarul xmlmapper.exe.
DOM + folosește manual linii în TClientDataSet
1. Este de dorit ca fișierul XML original, dacă acesta să nu existe, să creeze același, cel puțin structura.
2. În meniul (v7) al meniului instrumente -> XML Mapper, deschideți fișierul sursă, selectați Setul de date client, Xml în pachetul de date în mijloc.
3. În partea stângă selectați nodurile care ar trebui să fie în setul de date, în mijlocul cărora selectați proprietățile.
4. Apăsați Ctrl + D
5. Faceți clic pe Creați și schimbați transformarea
6. În meniul pe care îl salvați transformarea
Ca rezultat, avem fișierul xtr
Data viitoare
XMLTransform1.SourceXMLFile: = "SourceDocument.xml";
XMLTransform1.TransformationFile: = "dvs..xtr";
ClientDataSet1.XMLData: = XMLTransform1.Data;
Toate acestea sunt în ajutor.
Memorie: 0,73 MB
Durată: 0,05 secunde