DataSet.ReadXml Metódus

Definíció

Beolvassa az XML-sémát és az adatokat a DataSet.

Túlterhelések

Name Description
ReadXml(XmlReader, XmlReadMode)

Beolvassa az XML-sémát és az adatokat a megadott DataSet és XmlReadera XmlReadMode .

ReadXml(String, XmlReadMode)

Beolvassa az XML-sémát és az adatokat a DataSet megadott fájlba és XmlReadMode.

ReadXml(Stream, XmlReadMode)

Beolvassa az XML-sémát és az adatokat a megadott DataSet és Streama XmlReadMode .

ReadXml(TextReader, XmlReadMode)

Beolvassa az XML-sémát és az adatokat a megadott DataSet és TextReadera XmlReadMode .

ReadXml(String)

Beolvassa az XML-sémát és az adatokat a DataSet megadott fájlba.

ReadXml(TextReader)

Beolvassa az XML-sémát és az adatokat a DataSet megadott TextReader.

ReadXml(Stream)

Beolvassa az XML-sémát és az adatokat a DataSet megadott Stream.

ReadXml(XmlReader)

Beolvassa az XML-sémát és az adatokat a DataSet megadott XmlReader.

ReadXml(XmlReader, XmlReadMode)

Forrás:
DataSet.cs
Forrás:
DataSet.cs
Forrás:
DataSet.cs
Forrás:
DataSet.cs
Forrás:
DataSet.cs

Beolvassa az XML-sémát és az adatokat a megadott DataSet és XmlReadera XmlReadMode .

public:
 System::Data::XmlReadMode ReadXml(System::Xml::XmlReader ^ reader, System::Data::XmlReadMode mode);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Members from serialized types may use dynamic code generation.")]
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")]
public System.Data.XmlReadMode ReadXml(System.Xml.XmlReader? reader, System.Data.XmlReadMode mode);
public System.Data.XmlReadMode ReadXml(System.Xml.XmlReader? reader, System.Data.XmlReadMode mode);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")]
public System.Data.XmlReadMode ReadXml(System.Xml.XmlReader? reader, System.Data.XmlReadMode mode);
public System.Data.XmlReadMode ReadXml(System.Xml.XmlReader reader, System.Data.XmlReadMode mode);
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Members from serialized types may use dynamic code generation.")>]
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")>]
member this.ReadXml : System.Xml.XmlReader * System.Data.XmlReadMode -> System.Data.XmlReadMode
member this.ReadXml : System.Xml.XmlReader * System.Data.XmlReadMode -> System.Data.XmlReadMode
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")>]
member this.ReadXml : System.Xml.XmlReader * System.Data.XmlReadMode -> System.Data.XmlReadMode
Public Function ReadXml (reader As XmlReader, mode As XmlReadMode) As XmlReadMode

Paraméterek

reader
XmlReader

A XmlReader ahonnan olvasni kell.

mode
XmlReadMode

Az egyik XmlReadMode érték.

Válaszok

Az XmlReadMode adatok olvasásához használt.

Attribútumok

Megjegyzések

A ReadXml módszer lehetővé teszi, hogy csak az adatokat, vagy az adatokat és a sémákat is beolvassa egy DataSet XML-dokumentumba, míg a ReadXmlSchema metódus csak a sémát olvassa be. Az adatok és a séma olvasásához használja a ReadXML paramétert tartalmazó mode túlterhelések egyikét, és állítsa az értékét a következőre ReadSchema: .

Vegye figyelembe, hogy ugyanez igaz a metódusokra és WriteXml a WriteXmlSchema metódusokra is. Xml-adatok, illetve sémák DataSetés adatok írásához használja a metódust WriteXml . Ha csak a sémát szeretné írni, használja a metódust WriteXmlSchema .

Note

A InvalidOperationException rendszer akkor küld egy oszloptípust, ha a rendszer beolvassa vagy implementálja DataRow azokatIDynamicMetaObjectProvider, és nem implementálja IXmlSerializableazokat.

Ha egy sorba rendezett séma van megadva, a rendszer a soros sémát használja a meglévő relációs struktúra kiterjesztésére az adatok betöltése előtt. Ha ütközések vannak (például ugyanabban a táblában ugyanaz az oszlop különböző adattípusokkal definiálva), kivétel keletkezik.

Ha nincs megadva in-line séma, a relációs struktúra szükség szerint következtetéssel bővül az XML-dokumentum struktúrájának megfelelően. Ha a séma nem bővíthető következtetéssel az összes adat felfedése érdekében, kivétel lép fel.

Note

Az DataSet XML-elemet nem társítja a megfelelőhöz DataColumn , vagy DataTable ha a szerializált XML-fájlban a jogi XML-karakterek (például ("_") feloldódnak. Maga DataSet csak az XML-elemnevekben lévő illegális XML-karaktereket meneküli meg, ezért csak ugyanazt használhatja. Ha az XML-elem nevének jogi karakterei feloldódnak, a rendszer a feldolgozás során figyelmen kívül hagyja az elemet.

Ha egy XML-séma DataSet tartalmaz egy targetNamespaceadatot, előfordulhat, hogy az adatok nem olvashatók, és kivételeket tapasztalhat, amikor meghívja ReadXml a DataSet megfelelő névtér nélküli elemeket tartalmazó XML-fájllal való betöltését. A nem minősített elemek olvasásához állítsa be elementFormDefault a "minősített" értéket az XML-sémában, ahogy az alábbi példa mutatja.

<xsd:schema id="MyDataSet"
   elementFormDefault="qualified"
   targetNamespace="http://www.tempuri.org/MyDataSet.xsd"
   xmlns="http://www.tempuri.org/MyDataSet.xsd"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
</xsd:schema>

Note

Ha a séma DataSet azonos nevű, de eltérő típusú elemeket tartalmaz, ugyanabban a névtérben kivétel lép fel, amikor megkísérli beolvasni a sémát a DataSet következővel ReadXmlXmlReadMode.ReadSchema: Ez a kivétel nem fordul elő, ha .NET Framework 1.0-s verzióját használja.

Lásd még

A következőre érvényes:

ReadXml(String, XmlReadMode)

Forrás:
DataSet.cs
Forrás:
DataSet.cs
Forrás:
DataSet.cs
Forrás:
DataSet.cs
Forrás:
DataSet.cs

Beolvassa az XML-sémát és az adatokat a DataSet megadott fájlba és XmlReadMode.

public:
 System::Data::XmlReadMode ReadXml(System::String ^ fileName, System::Data::XmlReadMode mode);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Members from serialized types may use dynamic code generation.")]
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")]
public System.Data.XmlReadMode ReadXml(string fileName, System.Data.XmlReadMode mode);
public System.Data.XmlReadMode ReadXml(string fileName, System.Data.XmlReadMode mode);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")]
public System.Data.XmlReadMode ReadXml(string fileName, System.Data.XmlReadMode mode);
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Members from serialized types may use dynamic code generation.")>]
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")>]
member this.ReadXml : string * System.Data.XmlReadMode -> System.Data.XmlReadMode
member this.ReadXml : string * System.Data.XmlReadMode -> System.Data.XmlReadMode
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")>]
member this.ReadXml : string * System.Data.XmlReadMode -> System.Data.XmlReadMode
Public Function ReadXml (fileName As String, mode As XmlReadMode) As XmlReadMode

Paraméterek

fileName
String

Az a fájlnév (beleértve az elérési utat is), amelyből olvasni szeretne.

mode
XmlReadMode

Az egyik XmlReadMode érték.

Válaszok

Az XmlReadMode adatok olvasásához használt.

Attribútumok

Kivételek

Megjegyzések

A ReadXml módszer lehetővé teszi, hogy csak az adatokat, vagy az adatokat és a sémákat is beolvassa egy DataSet XML-dokumentumba, míg a ReadXmlSchema metódus csak a sémát olvassa be. Az adatok és a séma olvasásához használja a ReadXML paramétert tartalmazó mode túlterhelések egyikét, és állítsa az értékét a következőre ReadSchema: .

Vegye figyelembe, hogy ugyanez igaz a metódusokra és WriteXml a WriteXmlSchema metódusokra is. Xml-adatok, illetve sémák DataSetés adatok írásához használja a metódust WriteXml . Ha csak a sémát szeretné írni, használja a metódust WriteXmlSchema .

Note

A InvalidOperationException rendszer akkor küld egy oszloptípust, ha a rendszer beolvassa vagy implementálja DataRow azokatIDynamicMetaObjectProvider, és nem implementálja IXmlSerializableazokat.

Ha egy sorba rendezett séma van megadva, a rendszer a soros sémát használja a meglévő relációs struktúra kiterjesztésére az adatok betöltése előtt. Ha ütközések vannak (például ugyanabban a táblában ugyanaz az oszlop különböző adattípusokkal definiálva), kivétel keletkezik.

Ha nincs megadva in-line séma, a relációs struktúra szükség szerint következtetéssel bővül az XML-dokumentum struktúrájának megfelelően. Ha a séma nem bővíthető következtetéssel az összes adat felfedése érdekében, kivétel lép fel.

Note

Az DataSet XML-elemet nem társítja a megfelelőhöz DataColumn , vagy DataTable ha a szerializált XML-fájlban a jogi XML-karakterek (például ("_") feloldódnak. Maga DataSet csak az XML-elemnevekben lévő illegális XML-karaktereket meneküli meg, ezért csak ugyanazt használhatja. Ha az XML-elem nevének jogi karakterei feloldódnak, a rendszer a feldolgozás során figyelmen kívül hagyja az elemet.

Ha egy XML-séma DataSet tartalmaz egy targetNamespaceadatot, előfordulhat, hogy az adatok nem olvashatók, és kivételeket tapasztalhat, amikor meghívja ReadXml a DataSet megfelelő névtér nélküli elemeket tartalmazó XML-fájllal való betöltését. A nem minősített elemek olvasásához állítsa be elementFormDefault a "minősített" értéket az XML-sémában, ahogy az alábbi példa mutatja.

<xsd:schema id="MyDataSet"
   elementFormDefault="qualified"
   targetNamespace="http://www.tempuri.org/MyDataSet.xsd"
   xmlns="http://www.tempuri.org/MyDataSet.xsd"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
</xsd:schema>

Note

Ha a séma DataSet azonos nevű, de eltérő típusú elemeket tartalmaz, ugyanabban a névtérben kivétel lép fel, amikor megkísérli beolvasni a sémát a DataSet következővel ReadXmlXmlReadMode.ReadSchema: Ez a kivétel nem fordul elő, ha .NET Framework 1.0-s verzióját használja.

Lásd még

A következőre érvényes:

ReadXml(Stream, XmlReadMode)

Forrás:
DataSet.cs
Forrás:
DataSet.cs
Forrás:
DataSet.cs
Forrás:
DataSet.cs
Forrás:
DataSet.cs

Beolvassa az XML-sémát és az adatokat a megadott DataSet és Streama XmlReadMode .

public:
 System::Data::XmlReadMode ReadXml(System::IO::Stream ^ stream, System::Data::XmlReadMode mode);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Members from serialized types may use dynamic code generation.")]
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")]
public System.Data.XmlReadMode ReadXml(System.IO.Stream? stream, System.Data.XmlReadMode mode);
public System.Data.XmlReadMode ReadXml(System.IO.Stream? stream, System.Data.XmlReadMode mode);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")]
public System.Data.XmlReadMode ReadXml(System.IO.Stream? stream, System.Data.XmlReadMode mode);
public System.Data.XmlReadMode ReadXml(System.IO.Stream stream, System.Data.XmlReadMode mode);
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Members from serialized types may use dynamic code generation.")>]
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")>]
member this.ReadXml : System.IO.Stream * System.Data.XmlReadMode -> System.Data.XmlReadMode
member this.ReadXml : System.IO.Stream * System.Data.XmlReadMode -> System.Data.XmlReadMode
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")>]
member this.ReadXml : System.IO.Stream * System.Data.XmlReadMode -> System.Data.XmlReadMode
Public Function ReadXml (stream As Stream, mode As XmlReadMode) As XmlReadMode

Paraméterek

stream
Stream

A Stream ahonnan olvasni kell.

mode
XmlReadMode

Az egyik XmlReadMode érték.

Válaszok

Az XmlReadMode adatok olvasásához használt.

Attribútumok

Megjegyzések

A ReadXml módszer lehetővé teszi, hogy csak az adatokat, vagy az adatokat és a sémákat is beolvassa egy DataSet XML-dokumentumba, míg a ReadXmlSchema metódus csak a sémát olvassa be. Az adatok és a séma olvasásához használja a ReadXML paramétert tartalmazó mode túlterhelések egyikét, és állítsa az értékét a következőre ReadSchema: .

Ugyanez igaz a metódusokra és WriteXml a WriteXmlSchema metódusokra is. Xml-adatok, illetve sémák DataSetés adatok írásához használja a metódust WriteXml . Ha csak a sémát szeretné írni, használja a metódust WriteXmlSchema .

Note

Ha használja ReadXml és beállítja XmlReadModeDiffgram, a cél DataSet és az eredeti DataSet tartalma eltérhet a diffgram létrehozásának és feldolgozásának módjától. További információ a diffgramokról: DiffGrams.

Note

A InvalidOperationException rendszer akkor küld egy oszloptípust, ha a rendszer beolvassa vagy implementálja DataRow azokatIDynamicMetaObjectProvider, és nem implementálja IXmlSerializableazokat.

Ha egy sorba rendezett séma van megadva, a rendszer a soros sémát használja a meglévő relációs struktúra kiterjesztésére az adatok betöltése előtt. Ha ütközések vannak (például ugyanabban a táblában ugyanaz az oszlop különböző adattípusokkal definiálva), kivétel keletkezik.

Ha nincs megadva in-line séma, a relációs struktúra szükség szerint következtetéssel bővül az XML-dokumentum struktúrájának megfelelően. Ha a séma nem bővíthető következtetéssel az összes adat felfedése érdekében, kivétel lép fel.

Note

Az DataSet XML-elemet nem társítja a megfelelőhöz DataColumn , vagy DataTable ha a szerializált XML-fájlban a jogi XML-karakterek (például ("_") feloldódnak. Maga DataSet csak az XML-elemnevekben lévő illegális XML-karaktereket meneküli meg, ezért csak ugyanazt használhatja. Ha az XML-elem nevének jogi karakterei feloldódnak, a rendszer a feldolgozás során figyelmen kívül hagyja az elemet.

Ha egy xml-séma DataSet tartalmaz targetNamespace, előfordulhat, hogy az adatok nem olvashatók, és kivételeket tapasztalhat, amikor meghívja ReadXml a DataSet megfelelő névtér nélküli elemeket tartalmazó XML-fájllal való betöltését. A nem minősített elemek olvasásához állítsa be elementFormDefault a "minősített" értéket az XML-sémában, ahogy az alábbi példa mutatja.

<xsd:schema id="MyDataSet"
   elementFormDefault="qualified"
   targetNamespace="http://www.tempuri.org/MyDataSet.xsd"
   xmlns="http://www.tempuri.org/MyDataSet.xsd"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
</xsd:schema>

Note

Ha a séma DataSet azonos nevű, de eltérő típusú elemeket tartalmaz, ugyanabban a névtérben kivétel lép fel, amikor megkísérli beolvasni a sémát a DataSet következővel ReadXmlXmlReadMode.ReadSchema: Ez a kivétel nem fordul elő, ha .NET Framework 1.0-s verzióját használja.

Lásd még

A következőre érvényes:

ReadXml(TextReader, XmlReadMode)

Forrás:
DataSet.cs
Forrás:
DataSet.cs
Forrás:
DataSet.cs
Forrás:
DataSet.cs
Forrás:
DataSet.cs

Beolvassa az XML-sémát és az adatokat a megadott DataSet és TextReadera XmlReadMode .

public:
 System::Data::XmlReadMode ReadXml(System::IO::TextReader ^ reader, System::Data::XmlReadMode mode);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Members from serialized types may use dynamic code generation.")]
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")]
public System.Data.XmlReadMode ReadXml(System.IO.TextReader? reader, System.Data.XmlReadMode mode);
public System.Data.XmlReadMode ReadXml(System.IO.TextReader? reader, System.Data.XmlReadMode mode);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")]
public System.Data.XmlReadMode ReadXml(System.IO.TextReader? reader, System.Data.XmlReadMode mode);
public System.Data.XmlReadMode ReadXml(System.IO.TextReader reader, System.Data.XmlReadMode mode);
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Members from serialized types may use dynamic code generation.")>]
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")>]
member this.ReadXml : System.IO.TextReader * System.Data.XmlReadMode -> System.Data.XmlReadMode
member this.ReadXml : System.IO.TextReader * System.Data.XmlReadMode -> System.Data.XmlReadMode
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")>]
member this.ReadXml : System.IO.TextReader * System.Data.XmlReadMode -> System.Data.XmlReadMode
Public Function ReadXml (reader As TextReader, mode As XmlReadMode) As XmlReadMode

Paraméterek

reader
TextReader

A TextReader ahonnan olvasni kell.

mode
XmlReadMode

Az egyik XmlReadMode érték.

Válaszok

Az XmlReadMode adatok olvasásához használt.

Attribútumok

Megjegyzések

A ReadXml módszer lehetővé teszi, hogy csak az adatokat, vagy az adatokat és a sémákat is beolvassa egy DataSet XML-dokumentumba, míg a ReadXmlSchema metódus csak a sémát olvassa be. Az adatok és a séma olvasásához használja a ReadXML paramétert tartalmazó mode túlterhelések egyikét, és állítsa az értékét a következőre ReadSchema: .

Vegye figyelembe, hogy ugyanez igaz a metódusokra és WriteXml a WriteXmlSchema metódusokra is. Xml-adatok, illetve sémák DataSetés adatok írásához használja a metódust WriteXml . Ha csak a sémát szeretné írni, használja a metódust WriteXmlSchema .

Note

A InvalidOperationException rendszer akkor küld egy oszloptípust, ha a rendszer beolvassa vagy implementálja DataRow azokatIDynamicMetaObjectProvider, és nem implementálja IXmlSerializableazokat.

Ha egy sorba rendezett séma van megadva, a rendszer a soros sémát használja a meglévő relációs struktúra kiterjesztésére az adatok betöltése előtt. Ha ütközések vannak (például ugyanabban a táblában ugyanaz az oszlop különböző adattípusokkal definiálva), kivétel keletkezik.

Ha nincs megadva in-line séma, a relációs struktúra szükség szerint következtetéssel bővül az XML-dokumentum struktúrájának megfelelően. Ha a séma nem bővíthető következtetéssel az összes adat felfedése érdekében, kivétel lép fel.

Note

Az DataSet XML-elemet nem társítja a megfelelőhöz DataColumn , vagy DataTable ha a szerializált XML-fájlban a jogi XML-karakterek (például ("_") feloldódnak. Maga DataSet csak az XML-elemnevekben lévő illegális XML-karaktereket meneküli meg, ezért csak ugyanazt használhatja. Ha az XML-elem nevének jogi karakterei feloldódnak, a rendszer a feldolgozás során figyelmen kívül hagyja az elemet.

Ha egy xml-séma DataSet tartalmaz targetNamespace, előfordulhat, hogy az adatok nem olvashatók, és kivételeket tapasztalhat, amikor meghívja ReadXml a DataSet megfelelő névtér nélküli elemeket tartalmazó XML-fájllal való betöltését. A nem minősített elemek olvasásához állítsa be elementFormDefault a "minősített" értéket az XML-sémában, ahogy az alábbi példa mutatja.

<xsd:schema id="MyDataSet"
   elementFormDefault="qualified"
   targetNamespace="http://www.tempuri.org/MyDataSet.xsd"
   xmlns="http://www.tempuri.org/MyDataSet.xsd"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
</xsd:schema>

Note

Ha a séma DataSet azonos nevű, de eltérő típusú elemeket tartalmaz, ugyanabban a névtérben kivétel lép fel, amikor megkísérli beolvasni a sémát a DataSet következővel ReadXmlXmlReadMode.ReadSchema: Ez a kivétel nem fordul elő, ha .NET Framework 1.0-s verzióját használja.

Lásd még

A következőre érvényes:

ReadXml(String)

Forrás:
DataSet.cs
Forrás:
DataSet.cs
Forrás:
DataSet.cs
Forrás:
DataSet.cs
Forrás:
DataSet.cs

Beolvassa az XML-sémát és az adatokat a DataSet megadott fájlba.

public:
 System::Data::XmlReadMode ReadXml(System::String ^ fileName);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Members from serialized types may use dynamic code generation.")]
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")]
public System.Data.XmlReadMode ReadXml(string fileName);
public System.Data.XmlReadMode ReadXml(string fileName);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")]
public System.Data.XmlReadMode ReadXml(string fileName);
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Members from serialized types may use dynamic code generation.")>]
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")>]
member this.ReadXml : string -> System.Data.XmlReadMode
member this.ReadXml : string -> System.Data.XmlReadMode
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")>]
member this.ReadXml : string -> System.Data.XmlReadMode
Public Function ReadXml (fileName As String) As XmlReadMode

Paraméterek

fileName
String

Az a fájlnév (beleértve az elérési utat is), amelyből olvasni szeretne.

Válaszok

Az XmlReadMode adatok olvasásához használt.

Attribútumok

Kivételek

Példák

Az alábbi példa először létrehoz egy egyszerűt DataSet egy DataTable, két oszlopból és tíz sorból. A DataSet rendszer a metódus meghívásával lemezre írja a sémát és az WriteXml adatokat. A rendszer létrehoz egy másodpercet DataSet , és a ReadXml metódussal sémával és adatokkal tölti ki.

private void DemonstrateReadWriteXMLDocumentWithStreamReader()
{
    // Create a DataSet with one table and two columns.
    DataSet OriginalDataSet = new DataSet("dataSet");
    OriginalDataSet.Namespace= "NetFrameWork";
    DataTable table = new DataTable("table");
    DataColumn idColumn = new DataColumn("id",
        Type.GetType("System.Int32"));
    idColumn.AutoIncrement= true;

    DataColumn itemColumn = new DataColumn("item");
    table.Columns.Add(idColumn);
    table.Columns.Add(itemColumn);
    OriginalDataSet.Tables.Add(table);

    // Add ten rows.
    DataRow newRow;
    for(int i = 0; i < 10; i++)
    {
        newRow = table.NewRow();
        newRow["item"]= "item " + i;
        table.Rows.Add(newRow);
    }
    OriginalDataSet.AcceptChanges();

    // Print out values of each table in the DataSet
    // using the function defined below.
    PrintValues(OriginalDataSet, "Original DataSet");

    // Write the schema and data to an XML file.
    string xmlFilename = "XmlDocument.xml";

    // Use WriteXml to write the document.
    OriginalDataSet.WriteXml(xmlFilename);

    // Dispose of the original DataSet.
    OriginalDataSet.Dispose();

    // Create a new DataSet.
    DataSet newDataSet = new DataSet("New DataSet");

    // Read the XML document into the DataSet.
    newDataSet.ReadXml(xmlFilename);

    // Print out values of each table in the DataSet
    // using the function defined below.
    PrintValues(newDataSet,"New DataSet");
}

private void PrintValues(DataSet dataSet, string label)
{
    Console.WriteLine("\n" + label);
    foreach(DataTable table in dataSet.Tables)
    {
        Console.WriteLine("TableName: " + table.TableName);
        foreach(DataRow row in table.Rows)
        {
            foreach(DataColumn column in table.Columns)
            {
                Console.Write("\table " + row[column] );
            }
            Console.WriteLine();
        }
    }
}
Private Sub DemonstrateReadWriteXMLDocumentWithStreamReader()
    ' Create a DataSet with one table and two columns.
    Dim OriginalDataSet As New DataSet("dataSet")
    OriginalDataSet.Namespace = "NetFrameWork"
    Dim table As New DataTable("table")
    Dim idColumn As New DataColumn("id", _
        Type.GetType("System.Int32"))
    idColumn.AutoIncrement = True

    Dim itemColumn As New DataColumn("item")
    table.Columns.Add(idColumn)
    table.Columns.Add(itemColumn)
    OriginalDataSet.Tables.Add(table)

    ' Add ten rows.
    Dim newRow As DataRow
    Dim i As Integer
    For i = 0 To 9
        newRow = table.NewRow()
        newRow("item") = "item " & i.ToString()
        table.Rows.Add(newRow)
    Next i
    OriginalDataSet.AcceptChanges()

    ' Print out values of each table in the DataSet 
    ' using the function defined below.
    PrintValues(OriginalDataSet, "Original DataSet")

    ' Write the schema and data to an XML file.
    Dim xmlFilename As String = "XmlDocument.xml"

    ' Use WriteXml to write the document.
    OriginalDataSet.WriteXml(xmlFilename)

    ' Dispose of the original DataSet.
    OriginalDataSet.Dispose()

    ' Create a new DataSet.
    Dim newDataSet As New DataSet("New DataSet")

    ' Read the XML document into the DataSet.
    newDataSet.ReadXml(xmlFilename)

    ' Print out values of each table in the DataSet 
    ' using the function defined below.
    PrintValues(newDataSet, "New DataSet")
End Sub
    
Private Sub PrintValues(dataSet As DataSet, label As String)
    Console.WriteLine(ControlChars.Cr & label)
    Dim table As DataTable
    For Each table In  dataSet.Tables
        Console.WriteLine("TableName: " & table.TableName)
        Dim row As DataRow
        For Each row In  table.Rows
            Dim column As DataColumn
            For Each column In  table.Columns
                Console.Write(ControlChars.Tab & " " & _
                    row(column).ToString())
            Next column
            Console.WriteLine()
        Next row
    Next table
End Sub

Megjegyzések

A ReadXml módszer lehetővé teszi, hogy csak az adatokat, vagy az adatokat és a sémákat is beolvassa egy DataSet XML-dokumentumba, míg a ReadXmlSchema metódus csak a sémát olvassa be. Az adatok és a séma olvasásához használja a ReadXML paramétert tartalmazó mode túlterhelések egyikét, és állítsa az értékét a következőre ReadSchema: .

Vegye figyelembe, hogy ugyanez igaz a metódusokra és WriteXml a WriteXmlSchema metódusokra is. Xml-adatok, illetve sémák DataSetés adatok írásához használja a metódust WriteXml . Ha csak a sémát szeretné írni, használja a metódust WriteXmlSchema .

Note

A InvalidOperationException rendszer akkor küld egy oszloptípust, ha a rendszer beolvassa vagy implementálja DataRow azokatIDynamicMetaObjectProvider, és nem implementálja IXmlSerializableazokat.

Ha egy sorba rendezett séma van megadva, a rendszer a soros sémát használja a meglévő relációs struktúra kiterjesztésére az adatok betöltése előtt. Ha ütközések vannak (például ugyanabban a táblában ugyanaz az oszlop különböző adattípusokkal definiálva), kivétel keletkezik.

Ha nincs megadva in-line séma, a relációs struktúra szükség szerint következtetéssel bővül az XML-dokumentum struktúrájának megfelelően. Ha a séma nem bővíthető következtetéssel az összes adat felfedése érdekében, kivétel lép fel.

Note

Az DataSet XML-elemet nem társítja a megfelelőhöz DataColumn , vagy DataTable ha a szerializált XML-fájlban a jogi XML-karakterek (például ("_") feloldódnak. Maga DataSet csak az XML-elemnevekben lévő illegális XML-karaktereket meneküli meg, ezért csak ugyanazt használhatja. Ha az XML-elem nevének jogi karakterei feloldódnak, a rendszer a feldolgozás során figyelmen kívül hagyja az elemet.

Ha egy XML-séma DataSet tartalmaz egy targetNamespaceadatot, előfordulhat, hogy az adatok nem olvashatók, és kivételeket tapasztalhat, amikor meghívja ReadXml a DataSet megfelelő névtér nélküli elemeket tartalmazó XML-fájllal való betöltését. A nem minősített elemek olvasásához állítsa be elementFormDefault a "minősített" értéket az XML-sémában, ahogy az alábbi példa mutatja.

<xsd:schema id="MyDataSet"
   elementFormDefault="qualified"
   targetNamespace="http://www.tempuri.org/MyDataSet.xsd"
   xmlns="http://www.tempuri.org/MyDataSet.xsd"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
</xsd:schema>

Note

Ha a séma DataSet azonos nevű, de eltérő típusú elemeket tartalmaz, ugyanabban a névtérben kivétel lép fel, amikor megkísérli beolvasni a sémát a DataSet következővel ReadXmlXmlReadMode.ReadSchema: Ez a kivétel nem fordul elő, ha .NET Framework 1.0-s verzióját használja.

Lásd még

A következőre érvényes:

ReadXml(TextReader)

Forrás:
DataSet.cs
Forrás:
DataSet.cs
Forrás:
DataSet.cs
Forrás:
DataSet.cs
Forrás:
DataSet.cs

Beolvassa az XML-sémát és az adatokat a DataSet megadott TextReader.

public:
 System::Data::XmlReadMode ReadXml(System::IO::TextReader ^ reader);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Members from serialized types may use dynamic code generation.")]
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")]
public System.Data.XmlReadMode ReadXml(System.IO.TextReader? reader);
public System.Data.XmlReadMode ReadXml(System.IO.TextReader? reader);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")]
public System.Data.XmlReadMode ReadXml(System.IO.TextReader? reader);
public System.Data.XmlReadMode ReadXml(System.IO.TextReader reader);
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Members from serialized types may use dynamic code generation.")>]
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")>]
member this.ReadXml : System.IO.TextReader -> System.Data.XmlReadMode
member this.ReadXml : System.IO.TextReader -> System.Data.XmlReadMode
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")>]
member this.ReadXml : System.IO.TextReader -> System.Data.XmlReadMode
Public Function ReadXml (reader As TextReader) As XmlReadMode

Paraméterek

reader
TextReader

A TextReader séma és az adatok olvasásának célja.

Válaszok

Az XmlReadMode adatok olvasásához használt.

Attribútumok

Példák

Az alábbi példa először létrehoz egy egyszerűt DataSet egy DataTable, két oszlopból és tíz sorból. A DataSet rendszer a metódus meghívásával lemezre írja a sémát és az WriteXml adatokat. A rendszer létrehoz egy másodpercet DataSet , és a ReadXml metódussal sémával és adatokkal tölti ki.

private void DemonstrateReadWriteXMLDocumentWithFileStream()
{
    // Create a DataSet with one table and two columns.
    DataSet originalDataSet = new DataSet("dataSet");
    DataTable table = new DataTable("table");
    DataColumn idColumn = new DataColumn("id",
        Type.GetType("System.Int32"));
    idColumn.AutoIncrement= true;

    DataColumn itemColumn = new DataColumn("item");
    table.Columns.Add(idColumn);
    table.Columns.Add(itemColumn);
    originalDataSet.Tables.Add(table);
    // Add ten rows.

    DataRow newRow;
    for(int i = 0; i < 10; i++)
    {
        newRow = table.NewRow();
        newRow["item"]= "item " + i;
        table.Rows.Add(newRow);
    }
    originalDataSet.AcceptChanges();

    // Print out values of each table in the DataSet
    // using the function defined below.
    PrintValues(originalDataSet, "Original DataSet");

    // Write the schema and data to XML file with FileStream.
    string xmlFilename = "XmlDocument.xml";
    System.IO.FileStream streamWrite = new System.IO.FileStream
        (xmlFilename, System.IO.FileMode.Create);

    // Use WriteXml to write the XML document.
    originalDataSet.WriteXml(streamWrite);

    // Close the FileStream.
    streamWrite.Close();

    // Dispose of the original DataSet.
    originalDataSet.Dispose();
    // Create a new DataSet.
    DataSet newDataSet = new DataSet("New DataSet");

    // Read the XML document back in.
    // Create new FileStream to read schema with.
    System.IO.FileStream streamRead = new System.IO.FileStream
        (xmlFilename,System.IO.FileMode.Open);
    newDataSet.ReadXml(streamRead);

    // Print out values of each table in the DataSet
    // using the function defined below.
    PrintValues(newDataSet,"New DataSet");
}

private void PrintValues(DataSet dataSet, string label)
{
    Console.WriteLine("\n" + label);
    foreach(DataTable table in dataSet.Tables)
    {
        Console.WriteLine("TableName: " + table.TableName);
        foreach(DataRow row in table.Rows)
        {
            foreach(DataColumn column in table.Columns)
            {
                Console.Write("\table " + row[column] );
            }
            Console.WriteLine();
        }
    }
}
Private Sub DemonstrateReadWriteXMLDocumentWithFileStream()
    ' Create a DataSet with one table and two columns.
    Dim originalDataSet As New DataSet("dataSet")
    Dim table As New DataTable("table")
    Dim idColumn As New DataColumn("id", _
       Type.GetType("System.Int32"))
    idColumn.AutoIncrement = True

    Dim itemColumn As New DataColumn("item")
    table.Columns.Add(idColumn)
    table.Columns.Add(itemColumn)
    originalDataSet.Tables.Add(table)

    ' Add ten rows.
    Dim newRow As DataRow
    Dim i As Integer
    For i = 0 To 9
        newRow = table.NewRow()
        newRow("item") = "item " & i.ToString()
        table.Rows.Add(newRow)
    Next i
    originalDataSet.AcceptChanges()

    ' Print out values of each table in the DataSet 
    ' using the function defined below.
    PrintValues(originalDataSet, "Original DataSet")

    ' Write the schema and data to XML file with FileStream.
    Dim xmlFilename As String = "XmlDocument.xml"
    Dim streamWrite As New System.IO.FileStream _
       (xmlFilename, System.IO.FileMode.Create)

    ' Use WriteXml to write the XML document.
    originalDataSet.WriteXml(streamWrite)

    ' Close the FileStream.
    streamWrite.Close()
     
    ' Dispose of the original DataSet.
    originalDataSet.Dispose()
    ' Create a new DataSet.
    Dim newDataSet As New DataSet("New DataSet")
       
    ' Read the XML document back in. 
    ' Create new FileStream to read schema with.
    Dim streamRead As New System.IO.FileStream _
       (xmlFilename, System.IO.FileMode.Open)
     
    newDataSet.ReadXml(streamRead)
    ' Print out values of each table in the DataSet  
    ' using the function defined below.
    PrintValues(newDataSet, "New DataSet")
End Sub
   
Private Sub PrintValues(dataSet As DataSet, label As String)
    Console.WriteLine(ControlChars.Cr & label)
    Dim table As DataTable
    Dim row As DataRow
    Dim column As DataColumn
    For Each table In  dataSet.Tables
        Console.WriteLine("TableName: " & table.TableName)         
        For Each row In  table.Rows             
            For Each column In  table.Columns
                Console.Write(ControlChars.Tab & " " & _
                   row(column).ToString())
            Next column
            Console.WriteLine()
        Next row
    Next table
End Sub

Megjegyzések

A ReadXml módszer lehetővé teszi, hogy csak az adatokat, vagy az adatokat és a sémákat is beolvassa egy DataSet XML-dokumentumba, míg a ReadXmlSchema metódus csak a sémát olvassa be. Az adatok és a séma olvasásához használja a ReadXML paramétert tartalmazó mode túlterhelések egyikét, és állítsa az értékét a következőre ReadSchema: .

Vegye figyelembe, hogy ugyanez igaz a metódusokra és WriteXml a WriteXmlSchema metódusokra is. Xml-adatok, illetve sémák DataSetés adatok írásához használja a metódust WriteXml . Ha csak a sémát szeretné írni, használja a metódust WriteXmlSchema .

Note

A InvalidOperationException rendszer akkor küld egy oszloptípust, ha a rendszer beolvassa vagy implementálja DataRow azokatIDynamicMetaObjectProvider, és nem implementálja IXmlSerializableazokat.

Ha egy sorba rendezett séma van megadva, a rendszer a soros sémát használja a meglévő relációs struktúra kiterjesztésére az adatok betöltése előtt. Ha ütközések vannak (például ugyanabban a táblában ugyanaz az oszlop különböző adattípusokkal definiálva), kivétel keletkezik.

Ha nincs megadva in-line séma, a relációs struktúra szükség szerint következtetéssel bővül az XML-dokumentum struktúrájának megfelelően. Ha a séma nem bővíthető következtetéssel az összes adat felfedése érdekében, kivétel lép fel.

Note

Az DataSet XML-elemet nem társítja a megfelelőhöz DataColumn , vagy DataTable ha a szerializált XML-fájlban a jogi XML-karakterek (például ("_") feloldódnak. Maga DataSet csak az XML-elemnevekben lévő illegális XML-karaktereket meneküli meg, ezért csak ugyanazt használhatja. Ha az XML-elem nevének jogi karakterei feloldódnak, a rendszer a feldolgozás során figyelmen kívül hagyja az elemet.

Ha egy xml-séma DataSet tartalmaz targetNamespace, előfordulhat, hogy az adatok nem olvashatók, és kivételeket tapasztalhat, amikor meghívja ReadXml a DataSet megfelelő névtér nélküli elemeket tartalmazó XML-fájllal való betöltését. A nem minősített elemek olvasásához állítsa be elementFormDefault a "minősített" értéket az XML-sémában, ahogy az alábbi példa mutatja.

<xsd:schema id="MyDataSet"
   elementFormDefault="qualified"
   targetNamespace="http://www.tempuri.org/MyDataSet.xsd"
   xmlns="http://www.tempuri.org/MyDataSet.xsd"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
</xsd:schema>

Az osztálytól TextReader öröklő osztályok közé tartoznak az osztályok és StreamReader az StringReader osztályok.

Note

Ha a séma DataSet azonos nevű, de eltérő típusú elemeket tartalmaz, ugyanabban a névtérben kivétel lép fel, amikor megkísérli beolvasni a sémát a DataSet következővel ReadXmlXmlReadMode.ReadSchema: Ez a kivétel nem fordul elő, ha .NET Framework 1.0-s verzióját használja.

Lásd még

A következőre érvényes:

ReadXml(Stream)

Forrás:
DataSet.cs
Forrás:
DataSet.cs
Forrás:
DataSet.cs
Forrás:
DataSet.cs
Forrás:
DataSet.cs

Beolvassa az XML-sémát és az adatokat a DataSet megadott Stream.

public:
 System::Data::XmlReadMode ReadXml(System::IO::Stream ^ stream);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Members from serialized types may use dynamic code generation.")]
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")]
public System.Data.XmlReadMode ReadXml(System.IO.Stream? stream);
public System.Data.XmlReadMode ReadXml(System.IO.Stream? stream);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")]
public System.Data.XmlReadMode ReadXml(System.IO.Stream? stream);
public System.Data.XmlReadMode ReadXml(System.IO.Stream stream);
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Members from serialized types may use dynamic code generation.")>]
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")>]
member this.ReadXml : System.IO.Stream -> System.Data.XmlReadMode
member this.ReadXml : System.IO.Stream -> System.Data.XmlReadMode
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")>]
member this.ReadXml : System.IO.Stream -> System.Data.XmlReadMode
Public Function ReadXml (stream As Stream) As XmlReadMode

Paraméterek

stream
Stream

Egy objektum, amely a forrásból Streamszármazik.

Válaszok

Az XmlReadMode adatok olvasásához használt.

Attribútumok

Példák

Az alábbi példa először létrehoz egy egyszerűt DataSet egy DataTable, két oszlopból és tíz sorból. A DataSet rendszer a metódus meghívásával lemezre írja a sémát és az WriteXml adatokat. A rendszer létrehoz egy másodpercet DataSet , és a ReadXml metódussal sémával és adatokkal tölti ki.

private void DemonstrateReadWriteXMLDocumentWithFileStream()
{
    // Create a DataSet with one table and two columns.
    DataSet originalDataSet = new DataSet("dataSet");
    DataTable table = new DataTable("table");
    DataColumn idColumn = new DataColumn("id",
        Type.GetType("System.Int32"));
    idColumn.AutoIncrement= true;

    DataColumn itemColumn = new DataColumn("item");
    table.Columns.Add(idColumn);
    table.Columns.Add(itemColumn);
    originalDataSet.Tables.Add(table);
    // Add ten rows.

    DataRow newRow;
    for(int i = 0; i < 10; i++)
    {
        newRow = table.NewRow();
        newRow["item"]= "item " + i;
        table.Rows.Add(newRow);
    }
    originalDataSet.AcceptChanges();

    // Print out values of each table in the DataSet
    // using the function defined below.
    PrintValues(originalDataSet, "Original DataSet");

    // Write the schema and data to XML file with FileStream.
    string xmlFilename = "XmlDocument.xml";
    System.IO.FileStream streamWrite = new System.IO.FileStream
        (xmlFilename, System.IO.FileMode.Create);

    // Use WriteXml to write the XML document.
    originalDataSet.WriteXml(streamWrite);

    // Close the FileStream.
    streamWrite.Close();

    // Dispose of the original DataSet.
    originalDataSet.Dispose();
    // Create a new DataSet.
    DataSet newDataSet = new DataSet("New DataSet");

    // Read the XML document back in.
    // Create new FileStream to read schema with.
    System.IO.FileStream streamRead = new System.IO.FileStream
        (xmlFilename,System.IO.FileMode.Open);
    newDataSet.ReadXml(streamRead);

    // Print out values of each table in the DataSet
    // using the function defined below.
    PrintValues(newDataSet,"New DataSet");
}

private void PrintValues(DataSet dataSet, string label)
{
    Console.WriteLine("\n" + label);
    foreach(DataTable table in dataSet.Tables)
    {
        Console.WriteLine("TableName: " + table.TableName);
        foreach(DataRow row in table.Rows)
        {
            foreach(DataColumn column in table.Columns)
            {
                Console.Write("\table " + row[column] );
            }
            Console.WriteLine();
        }
    }
}
Private Sub DemonstrateReadWriteXMLDocumentWithFileStream()
    ' Create a DataSet with one table and two columns.
    Dim originalDataSet As New DataSet("dataSet")
    Dim table As New DataTable("table")
    Dim idColumn As New DataColumn("id", _
       Type.GetType("System.Int32"))
    idColumn.AutoIncrement = True

    Dim itemColumn As New DataColumn("item")
    table.Columns.Add(idColumn)
    table.Columns.Add(itemColumn)
    originalDataSet.Tables.Add(table)

    ' Add ten rows.
    Dim newRow As DataRow
    Dim i As Integer
    For i = 0 To 9
        newRow = table.NewRow()
        newRow("item") = "item " & i.ToString()
        table.Rows.Add(newRow)
    Next i
    originalDataSet.AcceptChanges()

    ' Print out values of each table in the DataSet 
    ' using the function defined below.
    PrintValues(originalDataSet, "Original DataSet")

    ' Write the schema and data to XML file with FileStream.
    Dim xmlFilename As String = "XmlDocument.xml"
    Dim streamWrite As New System.IO.FileStream _
       (xmlFilename, System.IO.FileMode.Create)

    ' Use WriteXml to write the XML document.
    originalDataSet.WriteXml(streamWrite)

    ' Close the FileStream.
    streamWrite.Close()
     
    ' Dispose of the original DataSet.
    originalDataSet.Dispose()
    ' Create a new DataSet.
    Dim newDataSet As New DataSet("New DataSet")
       
    ' Read the XML document back in. 
    ' Create new FileStream to read schema with.
    Dim streamRead As New System.IO.FileStream _
       (xmlFilename, System.IO.FileMode.Open)
     
    newDataSet.ReadXml(streamRead)
    ' Print out values of each table in the DataSet  
    ' using the function defined below.
    PrintValues(newDataSet, "New DataSet")
End Sub
   
Private Sub PrintValues(dataSet As DataSet, label As String)
    Console.WriteLine(ControlChars.Cr & label)
    Dim table As DataTable
    Dim row As DataRow
    Dim column As DataColumn
    For Each table In  dataSet.Tables
        Console.WriteLine("TableName: " & table.TableName)         
        For Each row In  table.Rows             
            For Each column In  table.Columns
                Console.Write(ControlChars.Tab & " " & _
                   row(column).ToString())
            Next column
            Console.WriteLine()
        Next row
    Next table
End Sub

Megjegyzések

A ReadXml módszer lehetővé teszi, hogy csak az adatokat, vagy az adatokat és a sémákat is beolvassa egy DataSet XML-dokumentumba, míg a ReadXmlSchema metódus csak a sémát olvassa be. Az adatok és a séma olvasásához használja a ReadXML paramétert tartalmazó mode túlterhelések egyikét, és állítsa az értékét a következőre ReadSchema: .

Vegye figyelembe, hogy ugyanez igaz a metódusokra és WriteXml a WriteXmlSchema metódusokra is. Xml-adatok, illetve sémák DataSetés adatok írásához használja a metódust WriteXml . Ha csak a sémát szeretné írni, használja a metódust WriteXmlSchema .

Note

A InvalidOperationException rendszer akkor küld egy oszloptípust, ha a rendszer beolvassa vagy implementálja DataRow azokatIDynamicMetaObjectProvider, és nem implementálja IXmlSerializableazokat.

Ha egy sorba rendezett séma van megadva, a rendszer a soros sémát használja a meglévő relációs struktúra kiterjesztésére az adatok betöltése előtt. Ha ütközések vannak (például ugyanabban a táblában ugyanaz az oszlop különböző adattípusokkal definiálva), kivétel keletkezik.

Ha nincs megadva in-line séma, a relációs struktúra szükség szerint következtetéssel bővül az XML-dokumentum struktúrájának megfelelően. Ha a séma nem bővíthető következtetéssel az összes adat felfedése érdekében, kivétel lép fel.

Note

Az DataSet XML-elemet nem társítja a megfelelőhöz DataColumn , vagy DataTable ha a szerializált XML-fájlban a jogi XML-karakterek (például ("_") feloldódnak. Maga DataSet csak az XML-elemnevekben lévő illegális XML-karaktereket meneküli meg, ezért csak ugyanazt használhatja. Ha az XML-elem nevének jogi karakterei feloldódnak, a rendszer a feldolgozás során figyelmen kívül hagyja az elemet.

Ha egy xml-séma DataSet tartalmaz targetNamespace, előfordulhat, hogy az adatok nem olvashatók, és kivételeket tapasztalhat, amikor meghívja ReadXml a DataSet megfelelő névtér nélküli elemeket tartalmazó XML-fájllal való betöltését. A nem minősített elemek olvasásához állítsa be elementFormDefault a "minősített" értéket az XML-sémában, ahogy az alábbi példa is mutatja.

<xsd:schema id="MyDataSet"
   elementFormDefault="qualified"
   targetNamespace="http://www.tempuri.org/MyDataSet.xsd"
   xmlns="http://www.tempuri.org/MyDataSet.xsd"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
</xsd:schema>

Note

Ha a séma DataSet azonos nevű, de eltérő típusú elemeket tartalmaz, ugyanabban a névtérben kivétel lép fel, amikor megkísérli beolvasni a sémát a DataSet következővel ReadXmlXmlReadMode.ReadSchema: Ez a kivétel nem fordul elő, ha .NET Framework 1.0-s verzióját használja.

Lásd még

A következőre érvényes:

ReadXml(XmlReader)

Forrás:
DataSet.cs
Forrás:
DataSet.cs
Forrás:
DataSet.cs
Forrás:
DataSet.cs
Forrás:
DataSet.cs

Beolvassa az XML-sémát és az adatokat a DataSet megadott XmlReader.

public:
 System::Data::XmlReadMode ReadXml(System::Xml::XmlReader ^ reader);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Members from serialized types may use dynamic code generation.")]
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")]
public System.Data.XmlReadMode ReadXml(System.Xml.XmlReader? reader);
public System.Data.XmlReadMode ReadXml(System.Xml.XmlReader? reader);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")]
public System.Data.XmlReadMode ReadXml(System.Xml.XmlReader? reader);
public System.Data.XmlReadMode ReadXml(System.Xml.XmlReader reader);
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Members from serialized types may use dynamic code generation.")>]
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")>]
member this.ReadXml : System.Xml.XmlReader -> System.Data.XmlReadMode
member this.ReadXml : System.Xml.XmlReader -> System.Data.XmlReadMode
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")>]
member this.ReadXml : System.Xml.XmlReader -> System.Data.XmlReadMode
Public Function ReadXml (reader As XmlReader) As XmlReadMode

Paraméterek

reader
XmlReader

A XmlReader ahonnan olvasni kell.

Válaszok

Az XmlReadMode adatok olvasásához használt.

Attribútumok

Példák

Az alábbi példa először létrehoz egy egyszerűt DataSet egy DataTable, két oszlopból és tíz sorból. A DataSet rendszer a metódus meghívásával lemezre írja a sémát és az WriteXml adatokat. A rendszer létrehoz egy másodpercet DataSet , és a ReadXml metódussal sémával és adatokkal tölti ki.

private void DemonstrateReadWriteXMLDocumentWithXMLReader()
{
    // Create a DataSet with one table and two columns.
    DataSet OriginalDataSet = new DataSet("dataSet");
    OriginalDataSet.Namespace= "NetFrameWork";
    DataTable table = new DataTable("table");
    DataColumn idColumn = new DataColumn("id",
        Type.GetType("System.Int32"));
    idColumn.AutoIncrement= true;

    DataColumn itemColumn = new DataColumn("item");
    table.Columns.Add(idColumn);
    table.Columns.Add(itemColumn);
    OriginalDataSet.Tables.Add(table);

    // Add ten rows.
    DataRow newRow;
    for(int i = 0; i < 10; i++)
    {
        newRow = table.NewRow();
        newRow["item"]= "item " + i;
        table.Rows.Add(newRow);
    }
    OriginalDataSet.AcceptChanges();

    // Print out values of each table in the DataSet
    // using the function defined below.
    PrintValues(OriginalDataSet, "Original DataSet");

    // Write the XML schema and data to file with FileStream.
    string xmlFilename = "XmlDocument.xml";

    // Create FileStream
    System.IO.FileStream fsWriteXml =
        new System.IO.FileStream
        (xmlFilename, System.IO.FileMode.Create);

    // Create an XmlTextWriter to write the file.
    System.Xml.XmlTextWriter xmlWriter =
        new System.Xml.XmlTextWriter
        (fsWriteXml, System.Text.Encoding.Unicode);

    // Use WriteXml to write the document.
    OriginalDataSet.WriteXml(xmlWriter, XmlWriteMode.WriteSchema);

    // Close the FileStream.
    fsWriteXml.Close();

    // Dispose of the original DataSet.
    OriginalDataSet.Dispose();

    // Create a new DataSet.
    DataSet newDataSet = new DataSet("New DataSet");

    // Read the XML document back in.
    // Create new FileStream to read schema with.
    System.IO.FileStream fsReadXml =
        new System.IO.FileStream
        (xmlFilename, System.IO.FileMode.Open);

    // Create an XmlTextReader to read the file.
    System.Xml.XmlTextReader xmlReader =
        new System.Xml.XmlTextReader(fsReadXml);

    // Read the XML document into the DataSet.
    newDataSet.ReadXml(xmlReader, XmlReadMode.ReadSchema);

    // Close the XmlTextReader
    xmlReader.Close();

    // Print out values of each table in the DataSet
    // fusing the unction defined below.
    PrintValues(newDataSet,"New DataSet");
}

private void PrintValues(DataSet dataSet, string label)
{
    Console.WriteLine("\n" + label);
    foreach(DataTable table in dataSet.Tables)
    {
        Console.WriteLine("TableName: " + table.TableName);
        foreach(DataRow row in table.Rows)
        {
            foreach(DataColumn column in table.Columns)
            {
                Console.Write("\t{0}({1})='{2}'", column.ColumnName, column.DataType.Name, row[column]);
            }
            Console.WriteLine();
        }
    }
}
Private Sub DemonstrateReadWriteXMLDocumentWithXMLReader()
    ' Create a DataSet with one table and two columns.
    Dim OriginalDataSet As New DataSet("dataSet")
    OriginalDataSet.Namespace = "NetFrameWork"
    Dim table As New DataTable("table")
    Dim idColumn As New DataColumn("id", _
        Type.GetType("System.Int32"))
    idColumn.AutoIncrement = True

    Dim itemColumn As New DataColumn("item")
    table.Columns.Add(idColumn)
    table.Columns.Add(itemColumn)
    OriginalDataSet.Tables.Add(table)

    ' Add ten rows.
    Dim newRow As DataRow
    Dim i As Integer
    For i = 0 To 9
        newRow = table.NewRow()
        newRow("item") = "item " & i.ToString()
        table.Rows.Add(newRow)
    Next i
    OriginalDataSet.AcceptChanges()

    ' Print out values of each table in the DataSet 
    ' using the function defined below.
    PrintValues(OriginalDataSet, "Original DataSet")

    ' Write the XML schema and data to file with FileStream.
    Dim xmlFilename As String = "XmlDocument.xml"

    ' Create FileStream    
    Dim fsWriteXml As New System.IO.FileStream _
        (xmlFilename, System.IO.FileMode.Create)

    ' Create an XmlTextWriter to write the file.
    Dim xmlWriter As New System.Xml.XmlTextWriter _
        (fsWriteXml, System.Text.Encoding.Unicode)

    ' Use WriteXml to write the document.
    OriginalDataSet.WriteXml(xmlWriter, XmlWriteMode.WriteSchema)

    ' Close the FileStream.
    fsWriteXml.Close()
        
    ' Dispose of the original DataSet.
    OriginalDataSet.Dispose()

    ' Create a new DataSet.
    Dim newDataSet As New DataSet("New DataSet")
        
    ' Read the XML document back in. 
    ' Create new FileStream to read schema with.
    Dim fsReadXml As New System.IO.FileStream _
        (xmlFilename, System.IO.FileMode.Open)

    ' Create an XmlTextReader to read the file.
    Dim xmlReader As New System.Xml.XmlTextReader(fsReadXml)

    ' Read the XML document into the DataSet.
    newDataSet.ReadXml(xmlReader, XmlReadMode.ReadSchema)

    ' Close the XmlTextReader
    xmlReader.Close()
        
    ' Print out values of each table in the DataSet using the 
    ' function defined below.
    PrintValues(newDataSet, "New DataSet")
End Sub
    
    
 Private Sub PrintValues(dataSet As DataSet, label As String)
     Console.WriteLine(ControlChars.Cr & label)
     Dim table As DataTable
     Dim row As DataRow
     Dim column As DataColumn
     For Each table In  dataSet.Tables
         Console.WriteLine("TableName: " & table.TableName)
         For Each row In  table.Rows
             For Each column In  table.Columns
                 Console.Write(ControlChars.Tab & "{0}({1})='{2}'", column.ColumnName, column.DataType.Name, row(column).ToString())

             Next column
             Console.WriteLine()
         Next row
     Next table
  End Sub

Megjegyzések

A ReadXml módszer lehetővé teszi, hogy csak az adatokat, vagy az adatokat és a sémákat is beolvassa egy DataSet XML-dokumentumba, míg a ReadXmlSchema metódus csak a sémát olvassa be. Az adatok és a séma olvasásához használja a ReadXML paramétert tartalmazó mode túlterhelések egyikét, és állítsa az értékét a következőre ReadSchema: .

Vegye figyelembe, hogy ugyanez igaz a metódusokra és WriteXml a WriteXmlSchema metódusokra is. Xml-adatok, illetve sémák DataSetés adatok írásához használja a metódust WriteXml . Ha csak a sémát szeretné írni, használja a metódust WriteXmlSchema .

Note

A InvalidOperationException rendszer akkor küld egy oszloptípust, ha a rendszer beolvassa vagy implementálja DataRow azokatIDynamicMetaObjectProvider, és nem implementálja IXmlSerializableazokat.

Ha egy sorba rendezett séma van megadva, a rendszer a soros sémát használja a meglévő relációs struktúra kiterjesztésére az adatok betöltése előtt. Ha ütközések vannak (például ugyanabban a táblában ugyanaz az oszlop különböző adattípusokkal definiálva), kivétel keletkezik.

Ha nincs megadva in-line séma, a relációs struktúra szükség szerint következtetéssel bővül az XML-dokumentum struktúrájának megfelelően. Ha a séma nem bővíthető következtetéssel az összes adat felfedése érdekében, kivétel lép fel.

Note

Az DataSet XML-elemet nem társítja a megfelelőhöz DataColumn , vagy DataTable ha a szerializált XML-fájlban a jogi XML-karakterek (például ("_") feloldódnak. Maga DataSet csak az XML-elemnevekben lévő illegális XML-karaktereket meneküli meg, ezért csak ugyanazt használhatja. Ha az XML-elem nevének jogi karakterei feloldódnak, a rendszer a feldolgozás során figyelmen kívül hagyja az elemet.

Ha egy XML-séma DataSet tartalmaz egy targetNamespaceadatot, előfordulhat, hogy az adatok nem olvashatók, és kivételeket tapasztalhat, amikor meghívja ReadXml a DataSet megfelelő névtér nélküli elemeket tartalmazó XML-fájllal való betöltését. A nem minősített elemek olvasásához állítsa be elementFormDefault a "minősített" értéket az XML-sémában, ahogy az alábbi példa mutatja.

<xsd:schema id="MyDataSet"
   elementFormDefault="qualified"
   targetNamespace="http://www.tempuri.org/MyDataSet.xsd"
   xmlns="http://www.tempuri.org/MyDataSet.xsd"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
</xsd:schema>

System.Xml.XmlTextReader örököl XmlReader-től.

Note

Ha a séma DataSet azonos nevű, de eltérő típusú elemeket tartalmaz, ugyanabban a névtérben kivétel lép fel, amikor megkísérli beolvasni a sémát a DataSet következővel ReadXmlXmlReadMode.ReadSchema: Ez a kivétel nem fordul elő, ha .NET Framework 1.0-s verzióját használja.

Lásd még

A következőre érvényes: