HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

A TXMLDocument osztály


TXMLDocument 2. rész

Példaprogram letöltése

12230 bájt

A TXMLDocument osztályról szóló két részes cikk előző részében az osztály property-jeit és eseményeit vettük sorra. Ebben a részben rátérünk a metódusok, függvények ismertetésére. A mellékelt példában megjelenítünk egy XML dokumentumot egy TreeView és egy RichEdit komponensben. A RichEdit komponensben végzett módosítások hatással lesznek a TreeView-ben megjelenített dokumentumra.

AddChild
Osztály: TXMLDocument
function AddChild(
const TagName: DOMString;
const NamespaceURI: DOMString
): IXMLNode; overload;
A dokumentumon belül létrehoz egy új csomópontot, és az új csomópont IXMLNode típusú objektumával tér vissza. A függvénynek két változata is van:
function AddChild(const TagName, NamespaceURI: DOMString): IXMLNode; overload;
function AddChild(const TagName: DOMString): IXMLNode; overload;
Az első változatnál meg kell adnunk a névtér URI azonosítóját is, míg a második változatnál ezt elhagyhatjuk.
Paraméterek
const TagName: DOMString
Az új elem neve.
const NamespaceURI: DOMString
Az új elem névterének URI azonosítója.
Visszatérési érték
Az új elem IXMLNode objektumával tér vissza.
Megjegyzés
Lehetőleg ne használjuk ezt a függvényt új csomópont létrehozására. Helyette inkább alkalmazzuk a DocumentElement objektumot, vagy az új csomópont szülő csomópontjának IXMLNode objektumát.
CreateElement
Osztály: TXMLDocument
function CreateElement(
const TagOrData,
NamespaceURI: DOMString
): IXMLNode;
Létrehoz egy új elem csomópontot a megadott névvel. Az új elemnek nem lesz szülő csomópontja, viszont hozzáadható bármelyik csomópont ChildNodes objektumához, vagy akár a DocumentElement property-hez, amivel a teljes dokumentumot felülírhatjuk.
Paraméterek
const TagOrData
Az új elem neve.
NamespaceURI: DOMString
Az új elem névterének URI azonosítója.
Visszatérési érték
A létrehozott elem IXMLNode objektuma.
Megjegyzés
Ahhoz, hogy az új elemet hozzáadjuk egy csomóponthoz, használjuk a csomópont AddChild metódusát, aminek paraméterként megadhatjuk a CreateElement függvény által visszaadott objektumot.
CreateNode
Osztály: TXMLDocument
function CreateNode(
const NameOrData: DOMString;
NodeType: TNodeType = ntElement;
const AddlData: DOMString = ''
): IXMLNode;
A függvény létrehoz egy új csomópontot. Az új csomópontnak nem lesz szülője, de hozzáadható bármelyik IXMLNode objektum ChildNodes, vagy AttributeNodes objektumához.
Paraméterek
const NameOrData: DOMString
Az új csomópont neve.
NodeType: TNodeType = ntElement
Az új csomópont típusa. A típust az alábbi táblázatban látható értékek egyikével kell meghatározni:
Érték Jelentés
ntElement Elem.
ntAttribute Attribútum.
ntText A csomópont szöveges értéke.
ntCData CDATA szekció tartalma.
ntEntityRef Hivatkozott elem neve.
ntComment A megjegyzés szövege
ntDocFragment Nem használt
const AddlData: DOMString = ''
Ennek a paraméternek a jelentése a csomópont típusától függ (NodeType paraméter):
NodeType AddIData
ntElement a Tag névhez tartozó névtér URI.
ntAttribute Az attribútum névhez tartozó névtér URI.
ntProcessingInstr A feldolgozási instrukció tartalma (a cél kivételével).
Visszatérési érték
Az új csomópont IXMLNode interfészét adja vissza.
Megjegyzés
A visszakapott objektumot felhasználhatjuk a szülő csomópont IXMLNode objektumának AddChild metódusában.
GeneratePrefix
Osztály: TXMLDocument
function GeneratePrefix(
const Node: IXMLNode
): DomString;
Ez a függvény generál egy olyan névtér előtagot, amelyet a dokumentumban még nem használtunk. Az előtag generálásához felhasználja az NSPrefixBase property értékét úgy, hogy a property értékéhez hozzátesz egy sorszámot, így az új előtag egyedi lesz. Az egyediség természetesen csak az adott dokumentumon belül érvényes, két különböző dokumentumban lehet egyforma névtér előtag.
Paraméterek
const Node: IXMLNode
Ez a paraméter annak a csomópontnak az objektumát tartalmazza, amely az új előtagot fogja használni.
Visszatérési érték
A függvény visszatérési értéke az új előtag.
GetDocBinding
Osztály: TXMLDocument
function GetDocBinding(
const TagName: DOMString;
DocNodeClass: TClass;
NamespaceURI: DOMString = ''
): IXMLNode;
Helyettesíti a dokumentum elemet a megadott osztály egy példányával.
Paraméterek
const TagName: DOMString
A behelyettesítendő elem neve. Általában a dokumentum elem (document).
DocNodeClass: TClass
A megadott elem helyére ezt az osztály megvalósítást helyettesíti be.
NamespaceURI: DOMString = ''
A dokumentum nevének névterét adhatjuk meg ebben a property-ben. Opcionális.
Visszatérési érték
A függvény visszatérési értéke a behelyettesítés után a dokumentum csomópont IXMLNode típusú objektuma.
IsEmptyDoc
Osztály: TXMLDocument
function IsEmptyDoc: Boolean;
A függvény visszatérési értéke igaz, ha a dokumentum üres. Ez akkor fordulhat elő, amikor a DOMDocument property nincs beállítva (nincs DOM implementáció), vagy a dokumentum elemnek nincsenek gyermek elemei.
LoadFromFile
Osztály: TXMLDocument
procedure LoadFromFile(
AFileName: DOMString = ''
);
Betölti a megadott nevű XML fájlt és az Active property értékét igazra állítja. Így a fájl sikeres betöltése után a dokumentum azonnal elemezhető, vagy módosítható. A módosítások nem a fájlban történnek meg, ezért a tároláshoz a SaveToFile eljárást kell használni.
Paraméterek
AFileName: DOMString = ''
A betöltendő XML fájl neve. A fájl nevét nem kötelező megadni. Ha nem adjuk meg, vagy egy üres sztringet adunk meg, akkor a FileName property-ben megadott nevű fájlt próbálja meg betölteni.
LoadFromStream
Osztály: TXMLDocument
procedure LoadFromStream(
const Stream: TStream;
EncodingType: TXMLEncodingType = xetUnknown
);
Az XML dokumentumot egy stream-ből tölti be.
Paraméterek
const Stream: TStream
Ebből a stream objektumból tölti be az XML dokumentumot, majd a betöltés után az Active property-t igazra állítja.
EncodingType: TXMLEncodingType = xetUnknown
A dokumentumban használt karakterkészlet típusa. Ha a paraméter értéke xetUnknown, akkor megpróbálja kikövetkeztetni a karakterkészletet a dokumentum elején található XML dokumentum deklarációból.
LoadFromXML
Osztály: TXMLDocument
procedure LoadFromXML(
const XML: string
); overload;
Ez az eljárás a paraméterben sztringként megadott XML dokumentum lesz az objektum tartalma. Az eljárásnak két változata van:
procedure LoadFromXML(const XML: string); overload;
procedure LoadFromXML(const XML: DOMString); overload;
A két eljárás csak a paraméter típusában tér el egymástól. A két paraméter típusnak köszönhetően a dokumentum sztring lehet UTF-8, UTF-16 és Unicode kódolású.
Az eljárás az Active property értékét igazra állítja.
Paraméterek
const XML: string
Az XML dokumentumot tartalmazó sztring.
Refresh
Osztály: TXMLDocument
procedure Refresh;
Ha a FileName property-ben megadott XML fájlban változtatás történt, akkor ennek az eljárásnak a meghívásával frissíthetjük az objektumban tárolt dokumentumot a fájl tartalmának megfelelően.
RegisterDocBinding
Osztály: TXMLDocument
procedure RegisterDocBinding(
const TagName: DOMString;
DocNodeClass: TClass;
NamespaceURI: DOMString = ''
);
Ezzel az eljárással egy osztályt rendelhetünk hozzá a dokumentum adott csomópontjához. Az eljárás helyettesíti a megadott csomópontot az osztály egy egyedével.
Paraméterek
const TagName: DOMString
A helyettesítendő csomópont tag neve. Általában ez a dokumentum elem.
DocNodeClass: TClass
Ezzel az osztállyal helyettesíti a megadott csomópontot.
NamespaceURI: DOMString = ''
A TagName paraméterben megadott név névtere.
Resync
Osztály: TXMLDocument
procedure Resync;
Szinkronizálja az osztályban, és az osztály alapjául szolgáló DOM implementációban tárolt csomópontokat és attribútumokat. Ez azt jelenti, hogy a DOM implementációból újra beolvassa a csomópontokat és azok attribútumait, így a DOM implementációban nem tárolt módosítások elvesznek.
SaveToFile
Osztály: TXMLDocument
procedure SaveToFile(
AFileName: DOMString = ''
); dynamic;
Ez az eljárás elmenti egy XML fájlba a dokumentumot.
Paraméterek
AFileName: DOMString = ''
Ebben a paraméterben adhatjuk meg a fájl nevét. Ez egy opcionális paraméter, tehát el is hagyhatjuk. Ebben az esetben, illetve akkor, ha paraméterként egy üres sztringet adunk meg, a fájl nevét a FileName property-ből veszi.
SaveToStream
Osztály: TXMLDocument
procedure SaveToStream(
const Stream: TStream
);
Elmenti az XML dokumentumot egy stream-be.
Paraméterek
const Stream: TStream
Ebben a paraméterben adhatjuk meg a stream objektumát. A dokumentum kódolását nem veszi figyelembe, vagyis ha stream-be mentjük a dokumentumot, akkor mindig UTF-16 kódolást fog használni.
SaveToXML
Osztály: TXMLDocument
procedure SaveToXML(
var XML: string
); overload;
Ez az eljárás az XML dokumentumot a paraméterként megadott sztring változóba másolja. Az eljárásnak két alakja van, amelyek csak a paraméter típusában térnek el egymástól:
procedure SaveToXML(var XML: string); overload;
procedure SaveToXML(var XML: DomString); overload;
Paraméterek
var XML: string
Ebben a paraméterben kapjuk vissza az XML dokumentumot sztring formátumban.

Cikksorozat

#IDKategóriaCikk címeSorozat
2591WindowsTippek és trükkök - RAS - Modem csengetési szám állítása1. rész
2622WindowsTippek és trükkök - Program futtatása más felhasználóként2. rész
2640WindowsA Windows ikonméretének megváltoztatása és Windows 2000 Asztaltémák3. rész
2657WindowsTippek és trükkök - Internet Explorer4. rész
2667WindowsTippek és trükkök5. rész
2684WindowsAlapértelmezések állítása, telepítési fájlok helye, intéző nézetek6. rész
2696WindowsBiztonsági trükkök7. rész
2702WindowsWindows XP trükkök8. rész
2729WindowsWindows 2000 és XP tippek, trükkök9. rész
2757WindowsRegistry trükkök10. rész
2784WindowsTippek, trükkök11. rész
2829WindowsTippek, trükkök12. rész
2889WindowsWindows XP tippek13. rész
2909WindowsTippek Windows XP-hez14. rész
2919WindowsWindows tippek15. rész
2924WindowsWindows tippek16. rész
2963WindowsWindows tippek17. rész
2973WindowsWindows Tippek18. rész
2981WindowsWindows tippek19. rész
2990WindowsTippek-trükkök20. rész
3027WindowsIIS tippek21. rész
3034WindowsWindows XP tippek-trükkök22. rész
3088WindowsWindows 2000/XP tippek, trükkök23. rész
3133WindowsWindows XP tippcsokor24. rész
3140WindowsWindows XP tippek, trükkök25. rész
3152WindowsXP és IIS tippek - trükkök26. rész
3158WindowsWindows XP tippek, trükkök27. rész
3168WindowsTippek, trükkök28. rész
3170WindowsRegistry trükkök29. rész
3179WindowsTippek, trükkök30. rész
3197WindowsWindows XP tippek, trükkök31. rész
3205WindowsTippek, trükkök32. rész
3214WindowsTippek, trükkök33. rész
3223WindowsTippek, trükkök34. rész
3233WindowsTippek, trükkök35. rész
3271WindowsTippek, trükkök36. rész
3307WindowsTippek, trükkök37. rész
3370WindowsTippek, trükkök38. rész
3399WindowsTippek, trükkök39. rész
3510WindowsTippek, trükkök40. rész
3611WindowsHardverrel kapcsolatos tippek, trükkök41. rész
3668WindowsRegistry trükkök42. rész
3711WindowsTippek, trükkök43. rész
3771WindowsTippek, trükkök44. rész
3801WindowsTippek, trükkök45. rész
3831WindowsTippek, trükkök46. rész
3891WindowsTippek, trükkök47. rész
3921WindowsTippek, trükkök48. rész
3981WindowsTippek, trükkök49. rész
4041WindowsTippek, trükkök50. rész
4071WindowsTippek, trükkök51. rész
4151WindowsTippek, trükkök52. rész
4171C#Tippek, trükkök53. rész
4211WindowsTippek, trükkök54. rész
4251WindowsTippek, trükkök55. rész
4281WindowsTippek, trükkök56. rész
3589DelphiTippek, trükkök57. rész
3718DelphiTippek, trükkök58. rész


Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2002 évkönyv 428. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |