Acces la xml și date relaționale

3. Executarea modelului de obiect document (DOM)
3.1. Clasele fundamentale Xml DOM
3.2. Clase avansate Xml DOM
3.3. Suport XmlNavigator și Xpath
3.4. XslTransform și suport XSLT






3.5. Clasa abstractă XmlResolver

3. Executarea modelului de obiect document (DOM)

Notă: Dacă o aplicație nu utilizează structura corespunzătoare DOM, XmlTextReader și clase XmlTextWriter oferă o soluție rapidă (non-stocate în memoria cache) Feed-forward numai accesul la XML (a se vedea secțiunea 2. Citirea și scrierea xml ..).

3.1. Clasele fundamentale Xml DOM

Reprezintă un singur nod din structura de documente - clasa principală pentru accesarea datelor în modelul Xml al obiectului. XmlNodeType specifică tipurile de gazdă valide. Acest tip de nod include suport pentru tipurile de date, zonele de nume și definițiile tipului de document (DTD).

Reprezintă o colecție ordonată de noduri. Acesta acceptă metode iterative și indexate de acces la colecția reală de obiecte XmlNode. Acest obiect reflectă imediat modificările din document.

Reprezintă o colecție de noduri care pot fi accesate prin nume sau prin index. Acesta oferă iterație și acces prin nume.

3.2. Clase avansate Xml DOM

Este vorba despre extinderea claselor fundamentale pentru obiecte de nivel înalt ale fiecărui tip de nod din documentul Xml. Majoritatea obiectelor de nivel înalt moștenesc proprietățile și metodele obiectului principal XmlNode și adaugă proprietățile și metodele necesare pentru obiectul de nivel înalt.

Reprezintă conținutul text al unui element sau al unui atribut.

3.3. Suport XmlNavigator și Xpath

Clasa abstractă XmlNavigator oferă instrumente eficiente pentru cercetarea și editarea datelor XML într-un document XML. Acesta acceptă expresii Xpath și poate fi folosit ca parametru de intrare al clasei XslTransform, care oferă conversii de execuție și XSLT. DocumentNavigator implementează XmlNavigator pentru XmlDocument și DataDocumentNavigator implementează acest lucru pentru XmlDataDocument.

XmlNavigator are următoarele metode și proprietăți:

Modelul de bază de date pentru XmlNavigator este același ca în DOM. XmlNavigator oferă o fereastră virtuală copacului de noduri și permite următoarea forking:

- Când nodul virtuale a subliniat XmlNavigator, scos din copac, sau sa mutat la un alt copac, XmlNavigator continuă să indice nodul mutat și MoveToParent poate muta într-o cu totul alt site.






- MoveToNext și MoveToPrevious nu depășesc sfârșitul listei, lăsând XmlNavigator într-o stare nedefinită.
- Când nodul virtual indicat de către XmlNavigator este mutat într-o altă locație din arbore, XmlNavigator se mișcă cu el.
- XmlNavigator este întotdeauna poziționat pe nod. Dacă metoda care atinge frunzele nu reușește, XmlNavigator va indica unde sa întâmplat.

Verificarea și ocolirea stării Null

Dacă XmlNavigator este în stare nulă, temporar nu indică niciun nod. Atunci când tradus într-o poziție nulă XmlNavigator (MoveTo (nul)), există un eșec cu operațiile de editare excepție InvalidPosition. Puteți afla dacă XmlNavigator obiect nul, și verifică dacă nodeType returnează 0. Puteți dezactiva de la XmlNavigator nul de stat, folosind MoveTo (XmlNavigator) sau MoveToDocument.

3.4. XslTransform și suport XSLT

Deși documentele Xml sunt structurate, programele de aplicații necesită deseori ca informațiile să fie structurate diferit. Extensible Stylesheet Language (XSL) - se bazează pe limbajul XML conceput pentru a transforma un document într-o altă Xml xml documentul HTML sau în orice alt document structurat. XSL se bazează pe Xpath, care vă permite să definiți anumite părți ale documentului Xml și să formulați interogări.
Clasa XslTransform este implementată în conformitate cu specificațiile W3C XSL Transformations (XSLT). XslTransform încarcă o foaie de stil XSLT utilizând XmlReader și convertește datele de intrare utilizând XmlNavigator.
Pentru a executa transformările, Xml Framework utilizează un procesor XSLT și o foaie de stil XSL care le spune cum să facă conversia. Foaia de stil este alcătuită din șabloane care definesc modul în care fiecare nod sursă document Xml ar trebui să apară în documentul XML rezultat. Procesorul XSLT funcționează simultan cu trei copaci, unul este sursa Xml, al doilea este pentru structura rezultată, iar al treilea este pentru foaia de stil.
Metoda de transformare XslTransform convertește datele în XmlNavigator specificat și o transmite la una din următoarele alocări:

- XMLReader
- XMLWriter
- textier
- șuvoi

Rețineți că transformările selectate funcționează pe document ca întreg. Cu alte cuvinte, dacă nodul curent este instalat pe un anumit arbore nod într-un document diferit de nodul rădăcină, acest lucru nu exclude conversia tuturor nodurilor disponibile ale documentului încărcat. După ce conversia a fost terminată, XmlNavigator rămâne în starea inițială. Aceasta înseamnă că nodul care era curent înainte de procesul de conversie rămâne nodul curent după ce a fost apelată metoda Transform.

3.5. Clasa abstractă XmlResolver

Clasa abstractă XmlResolver este utilizată pentru a rezolva resurse externe XML. XmlUrlResolver implementează această clasă pentru a permite resurselor XML, cum ar fi URI-urile. Este folosit de către XmlTextReader pentru a încărca DTD-uri externe, entități și scheme. De asemenea, utilizează XslTransform pentru procesarea elementelor .







Articole similare

Trimiteți-le prietenilor: