Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Med ADO.NET DataSet får du en relationsrepresentation av data. För hierarkisk dataåtkomst kan du använda DE XML-klasser som är tillgängliga i .NET Framework. Tidigare har dessa två representationer av data använts separat. .NET Framework möjliggör dock synkron åtkomst i realtid till både relations- och hierarkiska representationer av data via DataSet objektet respektive XmlDataDocument objektet.
När en DataSet synkroniseras med en XmlDataDocument fungerar båda objekten med en enda uppsättning data. Det innebär att om en ändring görs i DataSet återspeglas ändringen i XmlDataDocument och vice versa. Relationen mellan DataSet och XmlDataDocument skapar stor flexibilitet genom att tillåta ett enda program, med hjälp av en enda uppsättning data, att få åtkomst till hela tjänstepaketet som bygger på DataSet kontrollerna (t.ex. webbformulär och Windows-formulär och Visual Studio .NET-designers) samt paketen med XML-tjänster, inklusive XSL (Extensible Stylesheet Language), XSL-transformeringar (XSLT) och XML Path Language (XPath). Du behöver inte välja vilken uppsättning tjänster som ska riktas mot programmet. båda är tillgängliga.
Det finns flera sätt att synkronisera en DataSet med en XmlDataDocument. Du kan:
Fyll i ett
DataSetmed schema (dvs. en relationsstruktur) och data och synkronisera dem sedan med en ny XmlDataDocument. Detta ger en hierarkisk vy över befintliga relationsdata. Till exempel: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);Fyll endast i ett
DataSetmed schema (till exempel en starkt skriven DataSet), synkronisera den med en XmlDataDocument och läs sedan inXmlDataDocumentfrån ett XML-dokument. Detta ger en relationsvy över befintliga hierarkiska data. Tabellnamnen och kolumnnamnen i schematDataSetmåste matcha namnen på de XML-element som du vill att de ska synkroniseras med. Den här matchningen är skiftlägeskänslig.Observera att schemat för det
DataSetbara behöver matcha de XML-element som du vill exponera i relationsvyn. På så sätt kan du ha ett mycket stort XML-dokument och ett mycket litet relationsfönster i dokumentet. DenXmlDataDocumentbevarar hela XML-dokumentet även omDataSetbara exponerar en liten del av det. (Ett detaljerat exempel på detta finns i Synkronisera en datauppsättning med en XmlDataDocument.)I följande kodexempel visas stegen för att skapa ett
DataSetoch fylla i schemat och sedan synkronisera det med en XmlDataDocument. Observera attDataSetschemat bara behöver matcha elementen från detXmlDataDocumentsom du vill exponera med hjälp av 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");Du kan inte läsa in en
XmlDataDocumentom den är synkroniserad med enDataSetsom innehåller data. Ett undantag utlöses.Skapa en ny
XmlDataDocumentoch läs in den från ett XML-dokument och få sedan åtkomst till relationsvyn för data med hjälpDataSetav egenskapen för XmlDataDocument. Du måste ange schemat förDataSetinnan du kan visa någon av datan iXmlDataDocumentmed hjälp av DataSet. Återigen måste tabellnamnen och kolumnnamnen i schematDataSetmatcha namnen på de XML-element som du vill att de ska synkroniseras med. Den här matchningen är skiftlägeskänslig.I följande kodexempel visas hur du kommer åt relationsvyn för data i en 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");
En annan fördel med att synkronisera en XmlDataDocument med en DataSet är att integriteten av ett XML-dokument bevaras. Om DataSet fylls i från ett XML-dokument med hjälp av ReadXml, kan det, när data skrivs tillbaka som ett XML-dokument med hjälp av WriteXml, skilja sig avsevärt från det ursprungliga XML-dokumentet. Det beror på att DataSet formateringen inte bibehålls, till exempel tomt utrymme eller hierarkisk information, till exempel elementordning, från XML-dokumentet. Innehåller DataSet inte heller element från XML-dokumentet som ignorerades eftersom de inte matchade schemat för datauppsättningen. Om du synkroniserar en XmlDataDocument med en DataSet kan formatering och hierarkisk elementstruktur i det ursprungliga XML-dokumentet underhållas i XmlDataDocument, medan innehåller DataSet endast data och schemainformation som är lämplig för DataSet.
När du synkroniserar en DataSet med ett XmlDataDocument kan resultatet variera beroende på om dina DataRelation-objekt är kapslade eller inte. För mer information, se Kapslade datarelationer.
I det här avsnittet
Synkronisera en DataSet med en XmlDataDocument Visar synkronisering av en starkt typad DataSet, med minimalt schema, med en XmlDataDocument.
Utföra en XPath-fråga på en DataSet Visar hur du utför en XPath-fråga på innehållet i en DataSet.
Tillämpa en XSLT-transformering på en DataSet Visar hur du tillämpar en XSLT-transformering på innehållet i en DataSet.
Relaterade avsnitt
Använda XML i en DataSet Beskriver hur DataSet interagerar med XML som en datakälla, inklusive inläsning och bevarande av innehållet i en DataSet som XML-data.
Kapsla datarelationer Diskuterar vikten av kapslade DataRelation objekt när de representerar innehållet i en DataSet som XML-data och beskriver hur du skapar dessa relationer.
DataSets, DataTables och DataViews Beskriver DataSet och hur du använder dem för att hantera programdata och interagera med datakällor, inklusive relationsdatabaser och XML.
XmlDataDocument Innehåller referensinformation om XmlDataDocument klassen.