xml bemutató

XML - Extensible Markup Language (eX tensible M arkup L anguage) által ajánlott W3C mint egy nyelv az információcserét a különböző rendszerek közötti. Ez a szöveg-orientált módon információ tárolására. Modern adatcsere nyelvek, mint az XHTML, valamint a legtöbb WebServices technológiák alapulnak XML.

DOM XML (Document Object Model) - egy sor szabványos berendezések, amelyek egy egységes felületet használó XML a különböző nyelvek és platformok. Szabvány csak meghatározza a módszereket, tulajdonságok és más a felület objektum, így a végrehajtás ingyenes különböző nyelveken. FCL jelenleg támogatja a teljes DOM 1.0.

A cikk példái az XML-adatokat az elv egyre bonyolultabb.

Használat: Unicode és ANSI

FPC nyújt XML modulokat használó ANSI kódolást. Ezért ezek befolyásolhatják a platform, ahol a kód fut, és nem rendelkezik a Unicode támogatása. Lázár, viszont rendelkezik saját sorozata XML modulok elrendezve LazUtils csomagot. Ezek teljes mértékben támogatja a Unicode UTF-8 formátumban, és nem függ a teljesítő platform kódot. Ezek a modulok felcserélhetők és azok használatáról esetben csak a jelenléte a felhasználási listáját.

A következő modulokat használják FPC XML kódolási rendszer:

Ezek a modulok vannak Lazarus XML és támogatja a Unicode UTF-8 formátumban:

  • laz2_DOM
  • laz2_XMLRead
  • laz2_XMLWrite
  • laz2_XMLCfg
  • laz2_XMLUtils
  • laz_XMLStreaming.

Nem mindegyik van szükség, mindegyik példában. Azonban, ha szüksége lesz a DOM, mert tartalmaz több fajta, beleértve TXMLDocument.

Olvasás szöveges csomópont

Ne feledje, hogy ha dolgozik TXMLDocument, a szöveg a csomóponton belül tartják egy külön szöveges csomópont. Ezért meg kell hivatkozni a szöveges érték a csomópont külön csomópontot. Alternatív textContent tulajdonság lehet használni, hogy a visszatérési értékek minden csomópont alatt fekvő, amely összefüggésbe hozható az adatokat.

ReadXMLFile eljárás mindig újfajta TXMLDocument. így nem kell létrehozni előre. Azonban, ha kézzel kell hívni a Szabad eljárás befejezése után a dokumentum, hogy kiadja a források által elfoglalt tárgy TXMLDocument.

Vegyük például a következő XML-fájl:

Az alábbi példa mutatja a helyes és helytelen módon egyre xml szöveg csomópont értékeket:

Nyomtató csomópont nevét

Csak egy gyors megjegyzés navigálja a DOM fában:

Szekvenciális hozzáférést biztosít a legjobb helyeket, hogy használja a tulajdonságok és FirstChild NextSibling (sétálni a fa), vagy LastChild és PreviousSibling (vissza a végén a fa). Véletlenszerű hozzáférés a fa csomópontjait, akkor a tulajdonság vagy metódus ChildNodes getElementsByTagName. de ezek a módszerek létrehozása TDOMNodeList objektumot használat után el kell engedni. Ez a viselkedés különbözik a többi DOM implementációk (pl MSXML), mert FCL végrehajtás alapul tárgyak, hanem interfészek.

A következő példa bemutatja, hogyan jelenjenek meg a nevek, a csomópontok TMemo alkatrész található űrlapot.

Az alábbiakban egy XML-fájl neve 'C: \ Programs \ test.xml':

És a kódot Pascal, amely elvégzi ezt a feladatot:

Ennek eredményeként, a program megjeleníti a következő:

Loading XML egy TreeView

Az egyik gyakori felhasználása XML fájl - elemzés és jelenítsék meg egy fa formában. Megtalálható TTreeView komponens a lap „Common Controls” Lazarus'a.

Funkció alábbi vozmot XML dokumentum korábban betöltött fájlból vagy a szoftver által generált, és kitölti a TreeView és annak tartalmát. Fejléc egyes csomópont lesz a tartalmát az első attribútum a csomópont.

Megváltoztatása az XML dokumentum

Az első dolog, amit meg kell emlékezni, TDOMDocument a fogantyút (fogantyú) a DOM. Akkor kap egy példányát az osztály létrehozásával vagy terhelés egy XML dokumentum.

Másrészt, a csomópontok nem lehet létrehozni, mint egy tárgyat. Ki kell használni a módszereket ajánlanak TDOMDocument azok létrehozását, és ezt követően más módszerekkel, hogy őket a kívánt helyre a fa. Ez azt sugallja, hogy a csomópontok kell tartozniuk egy jól meghatározott DOM dokumentumot.

Íme néhány a leggyakoribb módszerek TDOMDocument:

Létrehozása egy sor TXMLDocument

Ha az XML adatok összhangban MyXmlString létre DOM belőle, akkor a következő kódot:

Hitelességének ellenőrzését a dokumentum

Ez egy példa XML-dokumentumot, amely a DTD:

Ez a DTD meghatározza, hogy a gyökér elem tartalmaznia kell egy vagy több gyermek elemet. gyermekelemeket tartalmazhatnak csak karakteres adatot. Ha az értelmező észlel e szabályokat megsértve, akkor jelentést róluk.

Töltse le ezt a dokumentumot valamivel bonyolultabb. Hagyja, hogy a forrás XML adatok áramban lévő AStream:

szóköz

Ha meg szeretné tartani a szóközt szöveges csomópontok, akkor használja a fenti módszer betöltése egy XML dokumentum. Alapértelmezésben vezető üres figyelmen kívül hagyja, hogy miért ReadXML (.) Függvény kihagyja az összes szóközt elején a szöveg csomópontok. Mielőtt felhívná Parser.Parse (Src, TheDoc) adja hozzá a következő sort:

Ezt követően az elemző hagyja az összes szóköz karakter, beleértve a sortöréseket hozzá olvashatóság az XML dokumentum!

streaming olvasás

XML feldolgozás DOM, egy megköveteli letölti a teljes dokumentumot a memóriába. Ez nem kívánatos vagy lehetséges, ha a dokumentum hatalmas. FCL egy függvényt biztosít olvasni egy XML-adatokat csomópont egy időben, a TXMLReader osztály és leszármazottai. TXMLReader osztály hasonló Class XMLReader .NET platform. Itt egy egyszerű példa segítségével TXmlReader:

Generálása egy XML fájl

Az alábbiakban a kód írásához XML fájl. (Taken a képzési program DeveLazarus blog). Felhívjuk figyelmét, hogy a DOM modulok és XMLWrite fel kell venni a felhasználási

Kapcsolódó cikkek