XmlDataDocument třída je odvozená třída XmlDocument a obsahuje XML data. Výhodou XmlDataDocument je, že poskytuje most mezi relačními a hierarchickými daty. Jedná se o xmldocument , který může být vázán na DataSet a obě třídy mohou synchronizovat změny provedené v datech obsažených ve dvou třídách. XmlDocument, který je vázán na datovou sadu umožňuje XML integrovat s relačními daty a nemusíte mít data reprezentovaná jako XML nebo v relačním formátu. Můžete provést obojí a nesmí být omezeni na jedinou reprezentaci dat.
Výhody dostupnosti dat ve dvou zobrazeních jsou:
Strukturovaná část dokumentu XML je možné mapovat na datovou sadu a efektivně ukládat, indexovat a prohledávat.
Transformace, ověřování a navigace je možné efektivně provádět prostřednictvím modelu kurzoru nad daty XML, která jsou uložena relačním způsobem. Někdy lze provádět efektivněji proti relačním strukturám, než když je XML uložen v modelu XmlDocument .
Datová sada může uložit část XML. To znamená, že můžete použít XPath nebo XslTransform k uložení do datové sady pouze ty prvky a atributy, které vás zajímají. Tam je možné provést změny v menší filtrované podmnožině dat s tím, že se změny šíří do větších dat v xmldatadocumentu.
Můžete také spustit transformaci dat načtených do datové sady z SQL Serveru. Další možností je vytvořit vazbu ovládacích prvků WinForm a WebForm spravovaných ve stylu rozhraní .NET Framework k datové sadě naplněné ze vstupního datového proudu XML.
Kromě podpory XslTransform zpřístupňuje XmlDataDocument relační data dotazům a ověřování XPath. V podstatě jsou všechny služby XML k dispozici přes relační data a relační zařízení, jako jsou vazby řízení, codegen atd., jsou k dispozici přes strukturovanou projekci XML bez ohrožení věrnosti XML.
Protože XmlDataDocument je zděděný z XmlDocument, poskytuje implementaci W3C DOM. Skutečnost, že XmlDataDocument je přidružen a ukládá podmnožinu svých dat v rámci, DataSet neomezuje nebo nemění jeho použití jako XmlDocument žádným způsobem. Kód zapisovaný pro využívání dokumentu XmlDocument funguje bez přípony XmlDataDocument. DataSet poskytuje relační zobrazení stejných dat definováním tabulek, sloupců, relací a omezení a je samostatné uživatelské úložiště dat v paměti.
Následující obrázek ukazuje různá přidružení, která data XML mají s DataSet a XmlDataDocument:
Obrázek ukazuje, že data XML lze načíst přímo do datové sady, což umožňuje přímou manipulaci s XML relačním způsobem. Nebo xml lze načíst do odvozené třídy DOM, což je XmlDataDocument, a následně načten a synchronizovat s DataSet. Vzhledem k tomu, že DataSet a XmlDataDocument se synchronizují přes jednu sadu dat, změny dat v jednom úložišti se projeví v druhém úložišti.
XmlDataDocument dědí všechny editační a navigační funkce z XmlDocument. Při použití XmlDataDocument a jeho zděděných funkcí, synchronizovaných s datovou sadou, je vhodnější možnost než načtení XML přímo do datové sady. Následující tabulka ukazuje položky, které se mají zvážit při výběru metody, která se má použít k načtení datové sady.
Kdy načíst XML přímo do datové sady
Kdy synchronizovat XmlDataDocument s datovou sadou
Dotazy na data v datové sadě jsou jednodušší pomocí SQL než XPath.
Dotazy XPath jsou potřeba pro data v datové sadě.
Zachování řazení prvků ve zdrojovém xml není důležité.
Zachování řazení prvků ve zdrojovém xml je důležité.
Prázdné znaky mezi elementy a formátováním není nutné zachovat ve zdrojovém XML.
Zachování prázdných znaků a formátování ve zdrojovém kódu XML je důležité.
Zdroj tohoto obsahu najdete na GitHubu, kde můžete také vytvářet a kontrolovat problémy a žádosti o přijetí změn. Další informace najdete v našem průvodci pro přispěvatele.
Zpětná vazba k produktu .NET
.NET je open source projekt. Vyberte odkaz pro poskytnutí zpětné vazby:
Vytvořte uživatelské rozhraní s datovou vazbou. Uživatelské rozhraní se automaticky aktualizuje na základě nejnovějších dat, zatímco aktualizace dat v reakci na změny v uživatelském rozhraní.