Hozzáférés az xml és relációs adatokhoz
3. A dokumentum objektummodell (DOM)
3.1. Alapvető Xml DOM osztályok
3.2. Speciális Xml DOM osztályok
3.3. XmlNavigator és Xpath támogatás
3.4. XslTransform és XSLT támogatás
3.5. Absztrakt osztály XmlResolver
3. A dokumentum objektummodell (DOM)
Megjegyzés: Ha az alkalmazás nem használja a megfelelő DOM szerkezet, XmlTextReader és XmlTextWriter osztályok biztosítják a gyors (nem tárolt) Előrecsatolt-hozzáférés csak az XML (lásd 2. szakasz olvasása és írása az XML ..).
3.1. Alapvető Xml DOM osztályok
Egyetlen csomópontot képvisel a dokumentumfában - a fő osztály az adatokhoz való hozzáféréshez az objektum Xml modelljében. Az XmlNodeType érvényes gazda típust határoz meg. Ez a csomópont típusa támogatja az adattípusokat, a névtereket és a dokumentumtípus-meghatározásokat (DTD-ket).
Megadja a csomópontok rendezett gyűjteményét. Támogatja az XmlNode objektumok valódi gyűjteményének eléréséhez szükséges iteratív és indexes módszereket. Ez az objektum azonnal tükrözi a dokumentumban bekövetkezett változásokat.
Olyan csomópontok gyűjteménye, amelyek név vagy index alapján érhetők el. Iterációt és hozzáférést nyújt név szerint.
3.2. Speciális Xml DOM osztályok
Arról szól, hogy kiterjeszti az alapvető osztályokat az egyes csomópontok magas szintű objektumainak az Xml dokumentumban. A legtöbb magas szintű objektum örökli a fő XmlNode objektum tulajdonságait és módszereit, és hozzáadja a nagy objektumhoz szükséges tulajdonságokat és módszereket.
Egy elem vagy attribútum szöveges tartalmát képviseli.
3.3. XmlNavigator és Xpath támogatás
Az absztrakt XmlNavigator osztály hatékony eszközöket biztosít XML adatok kutatása és szerkesztése céljából egy XML dokumentumban. Támogatja az Xpath kifejezést, és az XslTransform osztály bemeneti paramétereként használható, amely végrehajtást és XSLT konverziókat biztosít. A DocumentNavigator implementálja az XmlNavigator-ot az XmlDocument és a DataDocumentNavigator számára az XmlDataDocument számára.
Az XmlNavigator a következő módszerekkel és tulajdonságokkal rendelkezik:
Az XmlNavigator alapadatmodellje ugyanaz, mint a DOM-ban. Az XmlNavigator virtuális ablakot biztosít a csomófa számára, és lehetővé teszi a következő forkelést:
- Amikor a virtuális csomópont mutatott XmlNavigator, eltávolítjuk a fa, vagy másik fa, XmlNavigator továbbra is arra utal, hogy a mozgatott csomópont és MoveToParent mozoghat egy teljesen más helyszínen.
- A MoveToNext és a MoveToPrevious nem haladja meg a lista végét, így az XmlNavigator nem definiált állapotban marad.
- Ha az XmlNavigator által mutatott virtuális csomópontot egy másik helyre költözik a fában, akkor az XmlNavigator vele mozog.
- Az XmlNavigator mindig a csomóponton helyezkedik el. Ha a leveleket érintő módszer sikertelen, az XmlNavigator jelzi, hol történt.
Az Null állapotának ellenőrzése és áthidalása
Ha az XmlNavigator null állapotú, ideiglenesen nem mutat semmilyen csomópontot. Ha fordítva a helyzetben XmlNavigator null (MoveTo (null)), van egy hiba kivételével InvalidPosition szerkesztési műveleteket. Akkor megtudja, hogy XmlNavigator objektum null, és ellenőrizze, hogy a NodeType visszatér 0. is kikapcsolhatja az állami XmlNavigator null segítségével MoveTo (XmlNavigator) vagy MoveToDocument.
3.4. XslTransform és XSLT támogatás
Bár az XML-dokumentumok strukturáltak, az alkalmazásprogramok gyakran megkövetelik, hogy az információk másképp strukturálódjanak. Extensible Stylesheet Language (XSL) - XML-alapú nyelv célja, hogy átalakítsa egy dokumentumot egy másik XML Az XML, a HTML-dokumentum vagy bármely más strukturált dokumentumot. XSL épül XPath, amely lehetővé teszi, hogy meghatározzon bizonyos részei XML dokumentum és kérdések megfogalmazását.
Az XslTransform osztály a W3C XSL Transformations (XSLT) specifikációnak megfelelően valósul meg. Az XslTransform XSLT stíluslapot tölt be az XmlReader használatával és a bemeneti adatokat az XmlNavigator segítségével konvertálja.
Az átalakítások végrehajtásához az Xml Framework egy XSLT processzort és egy XSL stíluslapot használ, amely megmondja nekik, hogyan kell elvégezni az átalakítást. A stíluslap sablonokból áll, amelyek meghatározzák, hogy az egyes Xml dokumentumforrás-csomópontok hogyan jelenjenek meg az eredményül kapott XML dokumentumban. Az XSLT processzor három fával párhuzamosan működik, az egyik az Xml forrás, a második az eredményül kapott struktúra, a harmadik a stíluslapra vonatkozik.
Az XslTransform transzformációs módszer átalakítja az adatokat a megadott XmlNavigatorban, és az alábbi feladatok egyikére továbbítja:
- XMLReader
- XmlWriter
- TextWriter
- folyam
Ne feledje, hogy a kiválasztott átalakítások a dokumentum egészére vonatkoznak. Más szóval, ha az aktuális csomópont egy bizonyos csomófa-fában van telepítve egy másik dokumentumban, mint a gyökércsomópont, akkor ez nem zárja ki a betöltött dokumentum összes elérhető csomópontjának átalakítását. Az átalakítás befejezése után az XmlNavigator eredeti állapotában marad. Ez azt jelenti, hogy a konverziós folyamat előtt aktuális csomópont még mindig az aktuális csomópont az átalakítási módszer után.
3.5. Absztrakt osztály XmlResolver
Az XmlResolver absztrakt osztály a külső XML erőforrások megoldására szolgál. Az XmlUrlResolver végrehajtja ezt az osztályt, hogy engedélyezze az XML erőforrásokat, például az URI-kat. Ezt az XmlTextReader használja külső DTD-k, entitások és sémák betöltésére. Az elemek feldolgozásához az XslTransform is használható