Megosztás a következőn keresztül:


XML-integráció relációs adatokkal és ADO.NET

Az XmlDataDocument osztály az XmlDocument származtatott osztálya, amely XML-adatokat tartalmaz. Az XmlDataDocument előnye, hogy hidat biztosít a relációs és hierarchikus adatok között. Ez egy XmlDocument, amely adathalmazhoz köthető, és mindkét osztály szinkronizálhatja a két osztályban lévő adatokon végrehajtott módosításokat. Az adatkészlethez kötött XmlDocument lehetővé teszi az XML-relációs adatokkal való integrálást, és nem kell XML-ként vagy relációs formátumban ábrázolnia az adatokat. Mindkettőt megteheti, és nem korlátozható az adatok egyetlen ábrázolására.

Az adatok két nézetben való rendelkezésre állásának előnyei a következők:

  • Az XML-dokumentumok strukturált része leképezhető egy adathalmazra, és hatékonyan tárolható, indexelhető és kereshető.

  • Az átalakítások, az érvényesítés és a navigáció hatékonyan elvégezhető a kurzormodellen keresztül a relációsan tárolt XML-adatokon. Időnként hatékonyabb lehet a relációs struktúrák ellen, mint ha az XML-t XmlDocument-modellben tárolják.

  • Az Adatkészlet az XML egy részét is képes tárolni. Ez azt jelzi, hogy az XPath vagy az XslTransform használatával csak azokat az elemeket és attribútumokat tárolhatja egy adathalmazban, amelyek érdekesek. Innen módosíthatja az adatok kisebb, szűrt részhalmazát, és a módosítások az XmlDataDocument nagyobb adataira propagálhatók.

Az SQL Serverről az adathalmazba betöltött adatokon is futtathat átalakítást. Egy másik lehetőség, ha .NET-keretrendszer osztálystílussal felügyelt WinForm- és WebForm-vezérlőket egy XML-bemeneti adatfolyamból kitöltött Adathalmazhoz köti.

Az XslTransform támogatása mellett az XmlDataDocument relációs adatokat tesz elérhetővé az XPath-lekérdezések és -érvényesítés számára. Alapvetően az összes XML-szolgáltatás relációs adatokon keresztül érhető el, és a relációs lehetőségek, például a vezérlőkötés, a codegen és így tovább, az XML strukturált vetületén keresztül érhetők el az XML megbízhatóságának veszélyeztetése nélkül.

Mivel az XmlDataDocument egy XmlDocumenttőlöröklődik, a W3C DOM implementációját biztosítja. Az a tény, hogy az XmlDataDocument az adatok egy részhalmazával van társítva és tárolva van, az adathalmaz semmilyen módon nem korlátozza vagy módosítja az XmlDocumentkéntvaló használatát. Az XmlDocument használatához írt kód változatlanul működik egy XmlDataDocument használatával. A DataSet táblák, oszlopok, kapcsolatok és korlátozások definiálásával biztosítja ugyanannak az adatnak a relációs nézetét, és önálló, memórián belüli felhasználói adattár.

Az alábbi ábrán az XML-adatok és az Adathalmaz és az XmlDataDocument különböző társításai láthatók:

Diagram that shows different associations with the XML DataSet.

Az ábrán látható, hogy az XML-adatok közvetlenül betölthetők egy Adatkészletbe, amely lehetővé teszi az XML-rel való közvetlen manipulációt relációs módon. Vagy az XML betölthető a DOM származtatott osztályába, amely az XmlDataDocument, majd később betölthető és szinkronizálható az Adatkészlettel. Mivel az Adatkészlet és az XmlDataDocument szinkronizálása egyetlen adatkészleten történik, az egyik tároló adatainak módosításai a másik tárolóban is megjelennek.

Az XmlDataDocument az XmlDocument összes szerkesztési és navigációs funkcióját örökli. Előfordul, hogy az XmlDataDocument használata és az örökölt, adatkészlettel szinkronizált funkciói megfelelőbb megoldás, mint az XML közvetlenül az Adathalmazba való betöltése. Az alábbi táblázat azokat az elemeket mutatja be, amelyeket figyelembe kell venni az adathalmaz betöltéséhez használandó metódus kiválasztásakor.

Mikor kell közvetlenül betölteni az XML-t egy adathalmazba? Mikor kell szinkronizálni egy XmlDataDocumentet adatkészlettel?
Az adathalmazban lévő adat lekérdezései egyszerűbben használhatók az SQL-ben, mint az XPath. Az XPath-lekérdezésekre az Adathalmaz adatain keresztül van szükség.
Az elemek sorrendjének megőrzése a forrás XML-ben nem kritikus fontosságú. Az elemek sorrendjének megőrzése a forrás XML-ben kritikus fontosságú.
Az elemek és a formázás közötti térközt nem kell megőrizni a forrás XML-fájlban. A forrás XML-fájlban a szabad terület és a formázás megőrzése kritikus fontosságú.

Ha az XML betöltése és írása közvetlenül egy adathalmazba és onnan kifelé, megfelel az igényeinek, olvassa el az Adathalmaz betöltése XML-ből és adathalmaz xml-adatként való írása című témakört.

Ha egy XmlDataDocument fájlból tölti be az adathalmazt, tekintse meg az adathalmaz xml-dokumentumokkal való szinkronizálását ismertető témakört.

Lásd még