Az XML dokumentum objektum modell, Computerpress
XML egyre inkább használják az információk tárolására, az információcsere és alkalmazások közti webes csomópontokat. Sok alkalmazásban, ezt a nyelvet használják, mint az alap, adattárolásra mások - az exportáló és importáló XML-adatokat. Ebből az következik, hogy a fejlesztők az ideje gondolkodni, hogyan lehet használni az XML-adatokat a saját alkalmazásokat.
Ebben a cikkben fogjuk megvitatni XML Document Object Model (DOM) és annak végrehajtása a Microsoft - Microsoft XML DOM.
XML DOM - az objektum modell áll a fejlesztő helyek letöltésére és feldolgozására XML-fájlokat. Az objektum modell az alábbi tárgyak: XMLDOMDocument, XMLDOMNodeList, XMLDOMNode, XMLDOMNamedNodeMap és XMLDOMParseError. Minden ilyen tárgyak (kivéve XMLDOMParseError) tartalmazza a tulajdonságok és módszerek, hogy információt kapjunk egy objektum manipulálni az objektum értékeket és szerkezete, valamint navigálni a szerkezet a XML-dokumentum.
Tekintsük az alapvető létesítmények XML DOM és néhány példát azok használatáról Borland Delphi.
Az XML DOM Borland Delphi
Annak érdekében, hogy a Microsoft XML DOM Delphi-alkalmazásokhoz szükséges, hogy csatlakozzon a projekthez típusának megfelelő könyvtár. Ebből a célból, mi végrehajtani a parancsot Project | Import Type Library párbeszédablakban Import Type Library válasszuk Könyvtár Microsoft XML 2.0-s verziója (2.0 verzió), amely általában a Windows file \ System \ Msxml.dll
XML DOM eszköz
Document Object Model egy XML-dokumentumot szerkezetfából álló ágakat. Software XML DOM interfészek lehetővé teszi az alkalmazások navigálni a dokumentum fát és manipulálni ágain. Mindegyik ág lehet egy bizonyos típusú (DOMNodeType), amelyek szerint határozzuk meg a szülő és a gyermek ágak. A legtöbb XML-dokumentumok találhatók, mint ág elem, attribútum, és a szöveget. Tulajdonságok (attribútum) egy speciális fajtája ágak és leányvállalata ágak. Ellenőrzésére használt attribútumokat speciális módszerek által biztosított XML DOM objektumokat.
Amellett, hogy alkalmazza a javasolt World Wide Web Consortium (W3C) felület, a Microsoft XML DOM módszerek, amelyek támogatják XSL XSL Patterns, névterek és adattípusok. Például a SelectNodes lehetővé teszi a használatát XSL (XSL Pattern Syntax) szintaxis sablon módszer keresni az ágak egy adott kontextusban, és TransformNode módszer támogatja XSL transzformáció elvégzésére.
Test XML-dokumentum
Példaként az XML-dokumentum take zenei katalógus CD-ROM, amely a következő szerkezetű:
Most már készen állunk, hogy fontolja meg az objektum modell XML DOM ismerete, amely indul XMLDOMDocument objektumot.
XML-dokumentum - objektum XMLDOMDocument
Munka XML-dokumentum kezdődik csizmájával. Ehhez használjuk a Load módszer, amely csak az egyik paraméter alapján az URL-t a betöltött dokumentum. Amikor indítani a helyi lemez fájl általában csak a teljes neve a fájl (protokoll: /// ebben az esetben el lehet hagyni). Ha az XML-dokumentum van tárolva egy string, a dokumentum letöltéséhez kell használni LoadXML módszer.
Hogy ellenőrizzék, hogy a dokumentum betöltése (szinkron vagy aszinkron) használunk Async tulajdon. Alapértelmezés szerint ez a tulajdonság True értékre van állítva, jelezve, hogy a dokumentum betöltése aszinkron vezérlés visszakerül az alkalmazás, mielőtt teljesen le. Ellenkező esetben a dokumentum betöltése szinkronban, és akkor meg kell ellenőrizni az érték readyState, hogy megtanulják, töltse le a dokumentumot, vagy sem. Ön is létrehozhat egy felvezető onreadystatechange esemény, amely megkapja a vezérlést, ha az érték az ingatlanok readyState.
Az alábbiakban bemutatjuk, hogyan kell betölteni az XML-dokumentum a Load módszer:
Ha a dokumentum betöltve, akkor olvassa el a tulajdonságait. Tehát NODENAME tulajdonság fogja tartalmazni az értéket #document, NodeTypeString tulajdon - érték dokumentum URL tulajdon - értékét file: /// C: /DATA/DATA.xml.
feldolgozás oshibok
Különösen érdekesek azok a tulajdonságok kapcsolódó feldolgozó dokumentum, ha be van töltve. Tehát ParseError XMLDOMParseError tulajdonság visszaadja egy objektum, amely információkat tartalmaz egy hibát, amely történt a feldolgozás a dokumentumot.
Írni hibakezelő, akkor adja meg a következő kódot:
Ahhoz, hogy megtudja, milyen információkat vissza hiba esetén változtassa meg a következő könyvtárat bejegyzést:
eltávolítjuk a záró tag
Most írjuk be a kódot, amely visszaadja az értékeket XMLDOMParseError objektum tulajdonságai:
és mi fut alkalmazás. Ennek eredményeként kapjuk az alábbi információkat a hibát.
Mint látható ebben a példában a visszaadott objektum XMLDOMParseError elég információt, hogy keresse meg a hibát, és hogy megértsék az oka annak előfordulása.
Most helyreállítani a záró tag
Hozzáférés a dokumentum-fa
Ahhoz, hogy a dokumentum-fa, akkor sem kap a gyökér elem, majd menj át a kapcsolt ágak, vagy talál valami speciális ága. Az első esetben megkapjuk a gyökér elem révén DocumentElement visszaadó tulajdonság egy objektum típusú XMLDOMNode. Az alábbiakban bemutatjuk, hogyan kell használni DocumentElement tulajdonság annak érdekében, hogy a tartalmát minden gyermek:
A mi XML-dokumentum, megkapjuk a következő szöveget.
Ha érdekel néhány adott ág vagy ágazati szinten, az első alá leányvállalata ágak, fel tudjuk használni bármilyen módszerrel NodeFromID, akár getElementByTagName XMLDOMDocument objektumot.
NodeFromID módszer megköveteli egy olyan egyedi azonosítóval meghatározott XML Schema vagy Document Type Definition (DTD), és visszatér egy ág az azonosító.
GetElementByTagName módszer megköveteli egy sort egy adott elem (tag) és visszaadja az összes ágak ezt az elemet. Az alábbiakban bemutatjuk, hogyan kell használni ezt a módszert, hogy megtalálja a művészek a katalógusban CD-ROM:
A mi XML-dokumentum, megkapjuk a következő szöveg
Vegye figyelembe, hogy SelectNodes XMLDOMNode objektum módszer rugalmasabb módon a dokumentum eléréséhez ágak. De ezen az alábbiakban.
Branch a dokumentum - objektum XMLDOMNode
XMLDOMNode objektum egy ága a dokumentumot. Már találkoztunk ezt a tárgyat, amikor megkapta a gyökér eleme a dokumentumot:
További információt az XML-dokumentum ág, akkor az objektum tulajdonságok XMLDOMNode (táblázat. 1).
Mozgás a dokumentum-fa
XMLDOMNode objektum számos módon eligazodni a dokumentum fát. Például, hogy hozzáférjen a szülő ág a ParentNode tulajdonság (típus XMLDOMNode) való hozzáférést, gyermek ágak révén tulajdonságok ChildNodes (típus XMLDOMNodeList) FirstChild és LastChild (típus XMLDOMNode) stb OwnerDocument tulajdonság visszaadja egy objektum típusú XMLDOMDocument azonosította magát az XML-dokumentum. A fenti tulajdonságok teszik könnyű eligazodni a dokumentum fát.
Most nézzük át minden ágát az XML-dokumentumot:
Mint fentebb említettük, SelectNodes XMLDOMNode objektum egy rugalmasabb módon hozzáférni a ágai a dokumentumot. Ezen kívül van SelectSingleNode módszer, amely visszaadja csak az első ága a dokumentumot. Mindkét módszer lehetővé teszi, hogy meghatározza a XSL-sablonokat keresni ágak.
Tekintsük SelectNodes módszer segítségével a folyamat kivonat az ágakat, hogy van egy CD-ág és alcsoport ÁR:
A csomópontok gyűjtemény kerül az összes al-ág ÁR CD ágak. Megvitatni XSL-sablon vissza később.
Manipuláció kirendeltségbõl
Ahhoz, hogy manipulálni leányvállalata ágak, tudjuk használni a módszereket XMLDOMNode objektum (táblázat. 2).
Annak érdekében, hogy teljesen eltávolítani a rekord az első lemez, meg kell futtatni a következő kódot:
Figyeljük meg, hogy ebben a példában, vegyük ki az első gyermek ága. Hogyan lehet eltávolítani az első eleme az első leányvállalat ága az alábbiakban mutatjuk be:
A fenti példában, levettük nem az első ág
Most egy új ága. A következő kód azt mutatja, hogyan kell egy új rekordot a zenei CD-ROM:
A fenti kód az alábbi műveletek sorát, hogy egy új ága:
- Ahhoz, hogy hozzon létre egy új ága által CreateNode:
- létrehozása CreateNode elem módszer;
- hozzáadunk egy elemet a módszer ágak AppendChild;
- beállítási értékeket keresztül tagja Text tulajdonság;
- ... ismételje meg az összes elemet.
- Új ág által a dokumentumnak AppendChild.
Emlékezzünk vissza, hogy AppendChild eljárás hozzáad egy ág végére a fa. Ahhoz, hogy hozzá egy ága a fa egy adott helyen, akkor kell használni insertBefore módszer.
transzformáció
Két módszer XMLDOMNode objektum - TransformNode és TransformNodeToObject - lehet használni átalakítása egy leágazó vezeték vagy tárgy. Ezek a módszerek alapulnak XSL-szintaxis.
fióktelepeinél - objektum XMLDOMNodeList
XMLNodeList objektum listát tartalmaz, ágakat, amelyek módszerekkel összeállíthatók SelectNodes vagy getElementsByTagName, valamint a tulajdonságokat nyert ChildNodes.
Már tárgyalt a használata az objektum az adott példában a „Navigáció a dokumentum-fa” részben. Itt adunk néhány elméleti megjegyzések.
A fiókok száma a listában lehet beszerezni, mint egy ingatlan értéke hossza. Az ágak indexei 0 hossz-1, és az egyes elkülönített ága keresztül elérhető Tétel elem tömb egy megfelelő index.
Navigáljon Az ágak listáját is elvégezhető NextNode metódus visszaadja a következő ág a listán, vagy Nil, ha az aktuális ág - az utolsó. Hogy visszatérjen a lista elejére, hívja visszaállítása módszer.
Létrehozása és a dokumentumok mentése
Tehát megnéztük, hogyan lehet hozzáadni ágak és elemek a meglévő XML-dokumentumokat. Most hozzunk létre egy XML-dokumentum "on the fly". Először is, arra gondolunk, hogy a dokumentum letölthető nemcsak a URL-t és a szokásos vonalat. A következő példa, hogyan kell létrehozni egy gyökér elem, amely aztán felhasználható, hogy dinamikusan építeni a többi elem (hogy már tárgyalt a „Manipulation leányvállalata ágak”, fent):
Megépítése után az XML-dokumentumok egy fájlba módszerrel mentése. Például:
Emellett való takarékoskodás a Save metódus a fájl lehetővé teszi, hogy mentse az XML-dokumentumot egy új létesítmény XMLDOMDocument. Ebben az esetben van egy teljes dokumentum feldolgozás, és ennek következtében ellenőrzését annak szerkezete és szintaxis. Az alábbiakban bemutatjuk, hogyan kell menteni a dokumentumot egy másik objektum:
Összefoglalva, a Save a módszer lehetővé teszi, hogy mentse az XML-dokumentum más COM-objektum, amely támogatja a istream_FAR felületek, vagy IPersistStream IPersistStreamInit.
Használata XSL-sablon
Beszélgetés a módszer SelectNodes tárgy XMLDOMNode, szóltunk a tény, hogy egy rugalmasabb módon hozzáférni a ágai a dokumentumot. A rugalmasság abban a tényben rejlik, hogy mint kritérium a választás az ágak, megadhatja az XSL-sablon. Ezek a sablonok olyan erőteljes mechanizmus információk megtalálása az XML-dokumentumokat. Például, hogy egy listát az összes címet a zenei CD-ROM-ot a könyvtárba, akkor futtassa a következő lekérdezést:
Ahhoz, hogy megtudja, mi vezérli a művészek megjelent az Egyesült Államokban, egy kérés keletkezik az alábbiak szerint:
Az alábbiakban bemutatjuk, hogyan lehet megtalálni az első hajtás a könyvtárban:
Találni egy Bob Dylan-lemezek, akkor futtassa a következő lekérdezést:
és így egy listát vezeti után gyártott 1985-ben, hajtsa végre az alábbi lekérdezést:
Az XSL, egyszerűen hozzon létre egy sablont (vagy annak egy stíluslap), ami azt jelzi, hogy mit és hogyan kell átalakítani. Ezután helyezzük a sablont a katalógusból - és már kész is: a szöveg az előttünk-XSL sablon, amely átalakítja a katalógusban szereplő táblázatban (lásd a 2. listát).
Kód alkalmazására XSL-sablont a könyvtárba így néz ki:
Befejezésül a vita a XSL, azt kell mondanunk, hogy jelenleg ez a nyelv széles körben használják az átalakulás különböző XML-dokumentumokat, valamint a dokumentum formázását.
következtetés
Nyilvánvaló okokból, egyetlen cikket nem terjed ki az összes tárgyat a Microsoft XML DOM és ad példát azok használatát. Itt már csak érintették a legfontosabb kérdések az XML DOM alkalmazásokban. Táblázat. A 3. ábra az összes olyan objektumot megvalósított Microsoft XML DOM.
Cougar Újabban a vállalat bevezette az új sorozat tápegységek hagyományos PC-k - VTX, célozza meg a felhasználók a korlátozott költségvetéssel. Ez a felülvizsgálat modell Cougar VTX600 kell tekinteni, hogy mivel annak jellemzőit az egyik legnépszerűbb a sorban a tápegységek
Az évente megrendezésre kerülő esemény kapszaicin SIGGRAPH Los Angeles, az AMD megerősítette pozícióját a PC-piac a high-end új processzorok Ryzen Threadripper és GPU «Vega»
Egy egyszerű és kényelmes építési hétköznapi felhasználók hálózati cég ZyXEL kiadta a következő változat az internetes csomópont csatlakozik a 3G / 4G hálózatok USB-modem Wi-Fi hozzáférési pont - ZyXEL Keenetic 4G III, amit úgy ez a felülvizsgálat
Ahhoz, hogy az ő és így egy nagy család router és router cég ASUS nemrég hozzáadott két nagyon érdekes modell: a zászlóshajó 4G-AC55U és könnyebb 4G-N12. Ebben a cikkben a zászlóshajó modelljét ASUS 4G-AC55U figyelembe kell venni
Fiatal, de ambiciózus cég Krez idén kiadott egy új, eredeti modell laptop Krez Ninja (modell TM1102B32) Windows 10. Mivel ez a számítógép egy forgatható képernyő, ez szolgál egy univerzális megoldás - sikeresen lehet alkalmazni a munkát, és tanulmányi és játékhoz
Ha például gyakran nyomtat fényképeket és már fáradt változtatni tintapatronokat a nyomtatóban, nézd meg az MFP Epson L850. A hatalmas erőforrás fogyóeszközök, a kiváló nyomtatási minőséget, széles körű funkciók - ez csak néhány előnye ennek a modellnek