Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
DataSet ADO.NET zapewnia relacyjne przedstawienie danych. W przypadku dostępu do danych hierarchicznych można użyć klas XML dostępnych w programie .NET Framework. W przeszłości te dwie reprezentacje danych były używane oddzielnie. Jednak program .NET Framework umożliwia synchroniczny dostęp w czasie rzeczywistym do relacyjnych i hierarchicznych reprezentacji danych odpowiednio za pośrednictwem obiektu DataSet i XmlDataDocument obiektu.
Gdy zestaw danych jest synchronizowany z obiektem XmlDataDocument, oba obiekty pracują z pojedynczym zestawem danych. Oznacza to, że jeśli w zestawie danych zostanie wprowadzona zmiana, zmiana zostanie odzwierciedlona w kodzie XmlDataDocument i na odwrót. Relacja między zestawem danych i elementem XmlDataDocument zapewnia dużą elastyczność dzięki umożliwieniu jednej aplikacji przy użyciu jednego zestawu danych w celu uzyskania dostępu do całego zestawu usług utworzonych wokół zestawu danych (takich jak kontrolki Web Forms i Windows Forms oraz projektantów programu Visual Studio .NET), a także zestawu usług XML, w tym języka Extensible Stylesheet Language (XSL), Przekształcenia XSL (XSLT) i język ścieżki XML (XPath). Nie musisz wybierać, który zestaw usług ma być przeznaczony dla aplikacji; Oba są dostępne.
Istnieje kilka sposobów synchronizowania zestawu danych z dokumentem XmlDataDocument. Masz następujące możliwości:
Wypełnij zestaw danych za pomocą schematu (czyli struktury relacyjnej) i danych, a następnie zsynchronizuj go z nową funkcją XmlDataDocument. Zapewnia to hierarchiczny widok istniejących danych relacyjnych. Przykład:
Dim dataSet As DataSet = New DataSet ' Add code here to populate the DataSet with schema and data. Dim xmlDoc As XmlDataDocument = New XmlDataDocument(dataSet)
DataSet dataSet = new DataSet(); // Add code here to populate the DataSet with schema and data. XmlDataDocument xmlDoc = new XmlDataDocument(dataSet);
Wypełnij DataSet tylko schematem (na przykład silnie typizowanym DataSet), zsynchronizuj go z XmlDataDocument, a następnie załaduj XmlDataDocument z dokumentu XML. Zapewnia to relacyjny widok istniejących danych hierarchicznych. Nazwy tabel i nazwy kolumn w schemacie Zestawu danych muszą być zgodne z nazwami elementów XML, z którymi mają być synchronizowane. To dopasowanie uwzględnia wielkość liter.
Należy pamiętać, że schemat zestawu danych musi być zgodny tylko z elementami XML, które chcesz uwidocznić w widoku relacyjnym. W ten sposób można mieć bardzo duży dokument XML i bardzo małe relacyjne "okno" w tym dokumencie. Dokument XmlDataDocument zachowuje cały dokument XML, mimo że zestaw Danych uwidacznia tylko niewielką jego część. (Aby uzyskać szczegółowy przykład tego, zobacz Synchronizowanie zestawu danych z elementem XmlDataDocument).
Poniższy przykład kodu przedstawia kroki tworzenia zestawu danych i wypełniania jego schematu, a następnie synchronizowanie go z dokumentem XmlDataDocument. Należy pamiętać, że schemat zestawu danych musi być zgodny tylko z elementami z elementu XmlDataDocument , które chcesz uwidocznić przy użyciu elementu DataSet.
Dim dataSet As DataSet = New DataSet ' Add code here to populate the DataSet with schema, but not data. Dim xmlDoc As XmlDataDocument = New XmlDataDocument(dataSet) xmlDoc.Load("XMLDocument.xml")
DataSet dataSet = new DataSet(); // Add code here to populate the DataSet with schema, but not data. XmlDataDocument xmlDoc = new XmlDataDocument(dataSet); xmlDoc.Load("XMLDocument.xml");
Nie można załadować elementu XmlDataDocument , jeśli jest zsynchronizowany z zestawem danych zawierającym dane. Zostanie zgłoszony wyjątek.
Utwórz nową dokumentację XmlDataDocument i załaduj ją z dokumentu XML, a następnie uzyskaj dostęp do widoku relacyjnego danych przy użyciu właściwości DataSet obiektu XmlDataDocument. Przed wyświetleniem dowolnego z danych w obiekcie XmlDataDocument należy ustawić schemat zestawu danych przy użyciu elementu DataSet. Ponownie nazwy tabel i nazwy kolumn w schemacie Zestawu danych muszą być zgodne z nazwami elementów XML, z którymi mają być synchronizowane. To dopasowanie uwzględnia wielkość liter.
Poniższy przykład kodu pokazuje, jak uzyskać dostęp do widoku relacyjnego danych w kodzie XmlDataDocument.
Dim xmlDoc As XmlDataDocument = New XmlDataDocument Dim dataSet As DataSet = xmlDoc.DataSet ' Add code here to create the schema of the DataSet to view the data. xmlDoc.Load("XMLDocument.xml")
XmlDataDocument xmlDoc = new XmlDataDocument(); DataSet dataSet = xmlDoc.DataSet; // Add code here to create the schema of the DataSet to view the data. xmlDoc.Load("XMLDocument.xml");
Kolejną zaletą synchronizacji elementu XmlDataDocument z zestawem danych jest zachowanie wierności dokumentu XML. Jeśli zestaw danych jest wypełniany z dokumentu XML przy użyciu narzędzia ReadXml, gdy dane są zapisywane z powrotem jako dokument XML przy użyciu narzędzia WriteXml , mogą się znacznie różnić od oryginalnego dokumentu XML. Dzieje się tak, ponieważ zestaw danych nie obsługuje formatowania, takiego jak białe znaki lub informacje hierarchiczne, takie jak kolejność elementów, z dokumentu XML. Zestaw danych nie zawiera również elementów z dokumentu XML, które zostały zignorowane, ponieważ nie są zgodne ze schematem zestawu danych. Synchronizowanie elementu XmlDataDocument z zestawem danych umożliwia formatowanie i hierarchiczną strukturę oryginalnego dokumentu XML, która ma być przechowywana w obiekcie XmlDataDocument, podczas gdy zestaw danych zawiera tylko dane i informacje o schemacie odpowiednie dla elementu DataSet.
Podczas synchronizowania DataSet z dokumentem XmlDataDocument wyniki mogą się różnić w zależności od tego, czy obiekty DataRelation są zagnieżdżone. Aby uzyskać więcej informacji, zobacz Zagnieżdżanie RelacjeDanych.
W tej Sekcji
Synchronizowanie zestawu danych za pomocą elementu XmlDataDocument
Demonstruje synchronizowanie silnie typizowanego zestawu danych z minimalnym schematem z dokumentem XmlDataDocument.
Wykonywanie zapytania XPath w obiekcie DataSet
Demonstruje wykonywanie zapytania XPath w zawartości zestawu danych.
Zastosowanie przekształcenia XSLT do zestawu danych
Demonstruje zastosowanie przekształcenia XSLT do zawartości zestawu danych.
Powiązane sekcje
Używanie kodu XML w zestawie danych
Opisuje sposób interakcji zestawu danych DataSet z plikiem XML jako źródłem danych, w tym ładowaniem i utrwalaniem zawartości elementu DataSet jako danych XML.
Zagnieżdżanie danychRelacji
Omawia znaczenie zagnieżdżonych obiektów DataRelation podczas reprezentowania zawartości zestawu danych jako danych XML i opisuje sposób tworzenia tych relacji.
Zestawy danych, tabele danych i elementy DataView
Opisuje zestaw danych i sposób używania go do zarządzania danymi aplikacji oraz interakcji ze źródłami danych, w tym relacyjnymi bazami danych i xml.
XmlDataDocument
Zawiera informacje referencyjne dotyczące klasy XmlDataDocument .