DataSet.ReadXml Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Lit le schéma et les données XML dans le DataSet.
Surcharges
ReadXml(XmlReader, XmlReadMode) |
Lit le schéma et les données XML dans le DataSet à l'aide des XmlReader et XmlReadMode spécifiés. |
ReadXml(String, XmlReadMode) |
Lit le schéma et les données XML dans le DataSet à l'aide du fichier et du XmlReadMode spécifiés. |
ReadXml(Stream, XmlReadMode) |
Lit le schéma et les données XML dans le DataSet à l'aide des Stream et XmlReadMode spécifiés. |
ReadXml(TextReader, XmlReadMode) |
Lit le schéma et les données XML dans le DataSet à l'aide des TextReader et XmlReadMode spécifiés. |
ReadXml(String) |
Lit le schéma et les données XML dans le DataSet à l'aide du fichier spécifié. |
ReadXml(TextReader) |
Lit le schéma et les données XML dans le DataSet à l'aide du TextReader spécifié. |
ReadXml(Stream) |
Lit le schéma et les données XML dans le DataSet à l'aide du Stream spécifié. |
ReadXml(XmlReader) |
Lit le schéma et les données XML dans le DataSet à l'aide du XmlReader spécifié. |
ReadXml(XmlReader, XmlReadMode)
- Source:
- DataSet.cs
- Source:
- DataSet.cs
- Source:
- DataSet.cs
Lit le schéma et les données XML dans le DataSet à l'aide des XmlReader et XmlReadMode spécifiés.
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);
public System.Data.XmlReadMode ReadXml (System.Xml.XmlReader reader, System.Data.XmlReadMode mode);
member this.ReadXml : System.Xml.XmlReader * System.Data.XmlReadMode -> System.Data.XmlReadMode
Public Function ReadXml (reader As XmlReader, mode As XmlReadMode) As XmlReadMode
Paramètres
- mode
- XmlReadMode
Une des valeurs de l'objet XmlReadMode.
Retours
XmlReadMode
utilisé pour lire les données.
Remarques
La ReadXml méthode permet de lire les données uniquement, ou les données et le schéma dans un à partir d’un DataSet document XML, tandis que la ReadXmlSchema méthode lit uniquement le schéma. Pour lire à la fois les données et le schéma, utilisez l’une ReadXML
des surcharges qui inclut le mode
paramètre et définissez sa valeur sur ReadSchema
.
Notez qu’il en va de même pour les WriteXml méthodes et WriteXmlSchema , respectivement. Pour écrire des données XML, ou des schémas et des données à partir de , DataSet
utilisez la WriteXml
méthode . Pour écrire uniquement le schéma, utilisez la WriteXmlSchema
méthode .
Notes
Un InvalidOperationException sera levée si un type de colonne dans le DataRow
en cours de lecture ou écrit dans implémente IDynamicMetaObjectProvider et n’implémente IXmlSerializablepas .
Si un schéma en ligne est spécifié, le schéma en ligne est utilisé pour étendre la structure relationnelle existante avant le chargement des données. S’il existe des conflits (par exemple, la même colonne dans la même table définie avec différents types de données), une exception est levée.
Si aucun schéma en ligne n’est spécifié, la structure relationnelle est étendue par inférence, si nécessaire, en fonction de la structure du document XML. Si le schéma ne peut pas être étendu via l’inférence afin d’exposer toutes les données, une exception est levée.
Notes
le DataSet
n’associe pas un élément XML à son correspondant DataColumn
ou DataTable
lorsque des caractères XML légaux tels que ( » _ ») sont placés dans une séquence d’échappement dans le code XML sérialisé. Le DataSet
lui-même échappe uniquement aux caractères XML non autorisés dans les noms d’éléments XML et ne peut donc consommer que le même. Lorsque des caractères légaux dans le nom de l’élément XML sont placés dans une séquence d’échappement, l’élément est ignoré lors du traitement.
Si le schéma XML d’un DataSet inclut un targetNamespace
, les données peuvent ne pas être lues et vous pouvez rencontrer des exceptions lors de l’appel ReadXml pour charger le avec xml DataSet qui contient des éléments sans espace de noms éligible. Pour lire des éléments non qualifiés, définissez la valeur elementFormDefault
« qualifié » dans votre schéma XML, comme le montre l’exemple suivant.
<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>
Notes
Si le schéma de votre DataSet contient des éléments du même nom, mais de type différent, dans le même espace de noms, une exception est levée lorsque vous tentez de lire le schéma dans le DataSet avec ReadXml en spécifiant XmlReadMode.ReadSchema
. Cette exception ne se produit pas si vous utilisez .NET Framework version 1.0.
Voir aussi
S’applique à
ReadXml(String, XmlReadMode)
- Source:
- DataSet.cs
- Source:
- DataSet.cs
- Source:
- DataSet.cs
Lit le schéma et les données XML dans le DataSet à l'aide du fichier et du XmlReadMode spécifiés.
public:
System::Data::XmlReadMode ReadXml(System::String ^ fileName, System::Data::XmlReadMode mode);
public System.Data.XmlReadMode ReadXml (string fileName, System.Data.XmlReadMode mode);
member this.ReadXml : string * System.Data.XmlReadMode -> System.Data.XmlReadMode
Public Function ReadXml (fileName As String, mode As XmlReadMode) As XmlReadMode
Paramètres
- fileName
- String
Nom du fichier (chemin d'accès inclus) à partir duquel effectuer la lecture.
- mode
- XmlReadMode
Une des valeurs de l'objet XmlReadMode.
Retours
XmlReadMode
utilisé pour lire les données.
Exceptions
FileIOPermission n'a pas la valeur Read.
Remarques
La ReadXml méthode permet de lire les données uniquement, ou les données et le schéma dans un à partir d’un DataSet document XML, tandis que la ReadXmlSchema méthode lit uniquement le schéma. Pour lire à la fois les données et le schéma, utilisez l’une ReadXML
des surcharges qui inclut le mode
paramètre et définissez sa valeur sur ReadSchema
.
Notez qu’il en va de même pour les WriteXml méthodes et WriteXmlSchema , respectivement. Pour écrire des données XML, ou des schémas et des données à partir de , DataSet
utilisez la WriteXml
méthode . Pour écrire uniquement le schéma, utilisez la WriteXmlSchema
méthode .
Notes
Un InvalidOperationException sera levée si un type de colonne dans le DataRow
en cours de lecture ou écrit dans implémente IDynamicMetaObjectProvider et n’implémente IXmlSerializablepas .
Si un schéma en ligne est spécifié, le schéma en ligne est utilisé pour étendre la structure relationnelle existante avant le chargement des données. S’il existe des conflits (par exemple, la même colonne dans la même table définie avec différents types de données), une exception est levée.
Si aucun schéma en ligne n’est spécifié, la structure relationnelle est étendue par inférence, si nécessaire, en fonction de la structure du document XML. Si le schéma ne peut pas être étendu via l’inférence afin d’exposer toutes les données, une exception est levée.
Notes
le DataSet
n’associe pas un élément XML à son correspondant DataColumn
ou DataTable
lorsque des caractères XML légaux tels que ( » _ ») sont placés dans une séquence d’échappement dans le code XML sérialisé. Le DataSet
lui-même échappe uniquement aux caractères XML non autorisés dans les noms d’éléments XML et ne peut donc consommer que le même. Lorsque des caractères légaux dans le nom de l’élément XML sont placés dans une séquence d’échappement, l’élément est ignoré lors du traitement.
Si le schéma XML d’un DataSet inclut un targetNamespace
, les données peuvent ne pas être lues et vous pouvez rencontrer des exceptions lors de l’appel ReadXml pour charger le avec xml DataSet qui contient des éléments sans espace de noms éligible. Pour lire des éléments non qualifiés, définissez la valeur elementFormDefault
« qualifié » dans votre schéma XML, comme le montre l’exemple suivant.
<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>
Notes
Si le schéma de votre DataSet contient des éléments du même nom, mais de type différent, dans le même espace de noms, une exception est levée lorsque vous tentez de lire le schéma dans le DataSet avec ReadXml en spécifiant XmlReadMode.ReadSchema
. Cette exception ne se produit pas si vous utilisez .NET Framework version 1.0.
Voir aussi
S’applique à
ReadXml(Stream, XmlReadMode)
- Source:
- DataSet.cs
- Source:
- DataSet.cs
- Source:
- DataSet.cs
Lit le schéma et les données XML dans le DataSet à l'aide des Stream et XmlReadMode spécifiés.
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);
public System.Data.XmlReadMode ReadXml (System.IO.Stream stream, System.Data.XmlReadMode mode);
member this.ReadXml : System.IO.Stream * System.Data.XmlReadMode -> System.Data.XmlReadMode
Public Function ReadXml (stream As Stream, mode As XmlReadMode) As XmlReadMode
Paramètres
- mode
- XmlReadMode
Une des valeurs de l'objet XmlReadMode.
Retours
XmlReadMode
utilisé pour lire les données.
Remarques
La ReadXml méthode permet de lire les données uniquement, ou les données et le schéma dans un à partir d’un DataSet document XML, tandis que la ReadXmlSchema méthode lit uniquement le schéma. Pour lire à la fois les données et le schéma, utilisez l’une ReadXML
des surcharges qui inclut le mode
paramètre et définissez sa valeur sur ReadSchema
.
Il en est de même pour les WriteXml méthodes et WriteXmlSchema , respectivement. Pour écrire des données XML, ou des schémas et des données à partir de , DataSet
utilisez la WriteXml
méthode . Pour écrire uniquement le schéma, utilisez la WriteXmlSchema
méthode .
Notes
Lorsque vous utilisez ReadXml et que vous définissez XmlReadModeDiffgram
sur , le contenu de la cible DataSet
et de l’original DataSet
peut différer en raison de la façon dont le diffgramme est généré et traité. Pour plus d’informations sur les diffgrammes, consultez DiffGrams.
Notes
Un InvalidOperationException sera levée si un type de colonne dans le DataRow
en cours de lecture ou écrit dans implémente IDynamicMetaObjectProvider et n’implémente IXmlSerializablepas .
Si un schéma en ligne est spécifié, le schéma en ligne est utilisé pour étendre la structure relationnelle existante avant le chargement des données. S’il existe des conflits (par exemple, la même colonne dans la même table définie avec différents types de données), une exception est levée.
Si aucun schéma en ligne n’est spécifié, la structure relationnelle est étendue par inférence, si nécessaire, en fonction de la structure du document XML. Si le schéma ne peut pas être étendu via l’inférence afin d’exposer toutes les données, une exception est levée.
Notes
le DataSet
n’associe pas un élément XML à son correspondant DataColumn
ou DataTable
lorsque des caractères XML légaux tels que ( » _ ») sont placés dans une séquence d’échappement dans le code XML sérialisé. Le DataSet
lui-même échappe uniquement aux caractères XML non autorisés dans les noms d’éléments XML et ne peut donc consommer que le même. Lorsque des caractères légaux dans le nom de l’élément XML sont placés dans une séquence d’échappement, l’élément est ignoré lors du traitement.
Si le schéma XML d’un DataSet inclut targetNamespace
, les données peuvent ne pas être lues et vous pouvez rencontrer des exceptions lors de l’appel ReadXml pour charger le avec xml DataSet qui contient des éléments sans espace de noms éligible. Pour lire des éléments non qualifiés, définissez la valeur elementFormDefault
« qualifié » dans votre schéma XML, comme le montre l’exemple suivant.
<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>
Notes
Si le schéma de votre DataSet contient des éléments du même nom, mais de type différent, dans le même espace de noms, une exception est levée lorsque vous tentez de lire le schéma dans le DataSet avec ReadXml en spécifiant XmlReadMode.ReadSchema
. Cette exception ne se produit pas si vous utilisez .NET Framework version 1.0.
Voir aussi
S’applique à
ReadXml(TextReader, XmlReadMode)
- Source:
- DataSet.cs
- Source:
- DataSet.cs
- Source:
- DataSet.cs
Lit le schéma et les données XML dans le DataSet à l'aide des TextReader et XmlReadMode spécifiés.
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);
public System.Data.XmlReadMode ReadXml (System.IO.TextReader reader, System.Data.XmlReadMode mode);
member this.ReadXml : System.IO.TextReader * System.Data.XmlReadMode -> System.Data.XmlReadMode
Public Function ReadXml (reader As TextReader, mode As XmlReadMode) As XmlReadMode
Paramètres
- reader
- TextReader
TextReader dans lequel effectuer la lecture.
- mode
- XmlReadMode
Une des valeurs de l'objet XmlReadMode.
Retours
XmlReadMode
utilisé pour lire les données.
Remarques
La ReadXml méthode permet de lire les données uniquement, ou les données et le schéma dans un à partir d’un DataSet document XML, tandis que la ReadXmlSchema méthode lit uniquement le schéma. Pour lire à la fois les données et le schéma, utilisez l’une ReadXML
des surcharges qui inclut le mode
paramètre et définissez sa valeur sur ReadSchema
.
Notez qu’il en va de même pour les WriteXml méthodes et WriteXmlSchema , respectivement. Pour écrire des données XML, ou des schémas et des données à partir de , DataSet
utilisez la WriteXml
méthode . Pour écrire uniquement le schéma, utilisez la WriteXmlSchema
méthode .
Notes
Un InvalidOperationException sera levée si un type de colonne dans le DataRow
en cours de lecture ou écrit dans implémente IDynamicMetaObjectProvider et n’implémente IXmlSerializablepas .
Si un schéma en ligne est spécifié, le schéma en ligne est utilisé pour étendre la structure relationnelle existante avant le chargement des données. S’il existe des conflits (par exemple, la même colonne dans la même table définie avec différents types de données), une exception est levée.
Si aucun schéma en ligne n’est spécifié, la structure relationnelle est étendue par inférence, si nécessaire, en fonction de la structure du document XML. Si le schéma ne peut pas être étendu via l’inférence afin d’exposer toutes les données, une exception est levée.
Notes
le DataSet
n’associe pas un élément XML à son correspondant DataColumn
ou DataTable
lorsque des caractères XML légaux tels que ( » _ ») sont placés dans une séquence d’échappement dans le code XML sérialisé. Le DataSet
lui-même échappe uniquement aux caractères XML non autorisés dans les noms d’éléments XML et ne peut donc consommer que le même. Lorsque des caractères légaux dans le nom de l’élément XML sont placés dans une séquence d’échappement, l’élément est ignoré lors du traitement.
Si le schéma XML d’un DataSet inclut targetNamespace
, les données peuvent ne pas être lues et vous pouvez rencontrer des exceptions lors de l’appel ReadXml pour charger le avec xml DataSet qui contient des éléments sans espace de noms éligible. Pour lire des éléments non qualifiés, définissez la valeur elementFormDefault
« qualifié » dans votre schéma XML, comme le montre l’exemple suivant.
<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>
Notes
Si le schéma de votre DataSet contient des éléments du même nom, mais de type différent, dans le même espace de noms, une exception est levée lorsque vous tentez de lire le schéma dans le DataSet avec ReadXml en spécifiant XmlReadMode.ReadSchema
. Cette exception ne se produit pas si vous utilisez .NET Framework version 1.0.
Voir aussi
S’applique à
ReadXml(String)
- Source:
- DataSet.cs
- Source:
- DataSet.cs
- Source:
- DataSet.cs
Lit le schéma et les données XML dans le DataSet à l'aide du fichier spécifié.
public:
System::Data::XmlReadMode ReadXml(System::String ^ fileName);
public System.Data.XmlReadMode ReadXml (string fileName);
member this.ReadXml : string -> System.Data.XmlReadMode
Public Function ReadXml (fileName As String) As XmlReadMode
Paramètres
- fileName
- String
Nom du fichier (chemin d'accès inclus) à partir duquel effectuer la lecture.
Retours
XmlReadMode
utilisé pour lire les données.
Exceptions
FileIOPermission n'a pas la valeur Read.
Exemples
L’exemple suivant crée d’abord un simple DataSet avec une DataTable, deux colonnes et dix lignes. Le DataSet schéma et les données sont écrits sur le disque en appelant la WriteXml méthode . Un second DataSet est créé et la ReadXml méthode est utilisée pour le remplir de schéma et de données.
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
Remarques
La ReadXml méthode permet de lire les données uniquement, ou les données et le schéma dans un à partir d’un DataSet document XML, tandis que la ReadXmlSchema méthode lit uniquement le schéma. Pour lire à la fois les données et le schéma, utilisez l’une ReadXML
des surcharges qui inclut le mode
paramètre et définissez sa valeur sur ReadSchema
.
Notez qu’il en va de même pour les WriteXml méthodes et WriteXmlSchema , respectivement. Pour écrire des données XML, ou des schémas et des données à partir de , DataSet
utilisez la WriteXml
méthode . Pour écrire uniquement le schéma, utilisez la WriteXmlSchema
méthode .
Notes
Un InvalidOperationException sera levée si un type de colonne dans le DataRow
en cours de lecture ou écrit dans implémente IDynamicMetaObjectProvider et n’implémente IXmlSerializablepas .
Si un schéma en ligne est spécifié, le schéma en ligne est utilisé pour étendre la structure relationnelle existante avant le chargement des données. S’il existe des conflits (par exemple, la même colonne dans la même table définie avec différents types de données), une exception est levée.
Si aucun schéma en ligne n’est spécifié, la structure relationnelle est étendue par inférence, si nécessaire, en fonction de la structure du document XML. Si le schéma ne peut pas être étendu via l’inférence afin d’exposer toutes les données, une exception est levée.
Notes
le DataSet
n’associe pas un élément XML à son correspondant DataColumn
ou DataTable
lorsque des caractères XML légaux tels que ( » _ ») sont placés dans une séquence d’échappement dans le code XML sérialisé. Le DataSet
lui-même échappe uniquement aux caractères XML non autorisés dans les noms d’éléments XML et ne peut donc consommer que le même. Lorsque des caractères légaux dans le nom de l’élément XML sont placés dans une séquence d’échappement, l’élément est ignoré lors du traitement.
Si le schéma XML d’un DataSet inclut un targetNamespace
, les données peuvent ne pas être lues et vous pouvez rencontrer des exceptions lors de l’appel ReadXml pour charger le avec xml DataSet qui contient des éléments sans espace de noms éligible. Pour lire des éléments non qualifiés, définissez la valeur elementFormDefault
« qualifié » dans votre schéma XML, comme le montre l’exemple suivant.
<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>
Notes
Si le schéma de votre DataSet contient des éléments du même nom, mais de type différent, dans le même espace de noms, une exception est levée lorsque vous tentez de lire le schéma dans le DataSet avec ReadXml en spécifiant XmlReadMode.ReadSchema
. Cette exception ne se produit pas si vous utilisez .NET Framework version 1.0.
Voir aussi
S’applique à
ReadXml(TextReader)
- Source:
- DataSet.cs
- Source:
- DataSet.cs
- Source:
- DataSet.cs
Lit le schéma et les données XML dans le DataSet à l'aide du TextReader spécifié.
public:
System::Data::XmlReadMode ReadXml(System::IO::TextReader ^ reader);
public System.Data.XmlReadMode ReadXml (System.IO.TextReader? reader);
public System.Data.XmlReadMode ReadXml (System.IO.TextReader reader);
member this.ReadXml : System.IO.TextReader -> System.Data.XmlReadMode
Public Function ReadXml (reader As TextReader) As XmlReadMode
Paramètres
- reader
- TextReader
TextReader
à partir duquel lire le schéma et les données.
Retours
XmlReadMode utilisé pour lire les données.
Exemples
L’exemple suivant crée d’abord un simple DataSet avec une DataTable, deux colonnes et dix lignes. Le DataSet schéma et les données sont écrits sur le disque en appelant la WriteXml méthode . Un second DataSet est créé et la ReadXml méthode est utilisée pour le remplir de schéma et de données.
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
Remarques
La ReadXml méthode permet de lire les données uniquement, ou les données et le schéma dans un à partir d’un DataSet document XML, tandis que la ReadXmlSchema méthode lit uniquement le schéma. Pour lire à la fois les données et le schéma, utilisez l’une ReadXML
des surcharges qui inclut le mode
paramètre et définissez sa valeur sur ReadSchema
.
Notez qu’il en va de même pour les WriteXml méthodes et WriteXmlSchema , respectivement. Pour écrire des données XML, ou des schémas et des données à partir de , DataSet
utilisez la WriteXml
méthode . Pour écrire uniquement le schéma, utilisez la WriteXmlSchema
méthode .
Notes
Un InvalidOperationException sera levée si un type de colonne dans le DataRow
en cours de lecture ou écrit dans implémente IDynamicMetaObjectProvider et n’implémente IXmlSerializablepas .
Si un schéma en ligne est spécifié, le schéma en ligne est utilisé pour étendre la structure relationnelle existante avant le chargement des données. S’il existe des conflits (par exemple, la même colonne dans la même table définie avec différents types de données), une exception est levée.
Si aucun schéma en ligne n’est spécifié, la structure relationnelle est étendue par inférence, si nécessaire, en fonction de la structure du document XML. Si le schéma ne peut pas être étendu via l’inférence afin d’exposer toutes les données, une exception est levée.
Notes
le DataSet
n’associe pas un élément XML à son correspondant DataColumn
ou DataTable
lorsque des caractères XML légaux tels que ( » _ ») sont placés dans une séquence d’échappement dans le code XML sérialisé. Le DataSet
lui-même échappe uniquement aux caractères XML non autorisés dans les noms d’éléments XML et ne peut donc consommer que le même. Lorsque des caractères légaux dans le nom de l’élément XML sont placés dans une séquence d’échappement, l’élément est ignoré lors du traitement.
Si le schéma XML d’un DataSet inclut targetNamespace
, les données peuvent ne pas être lues et vous pouvez rencontrer des exceptions lors de l’appel ReadXml pour charger le avec xml DataSet qui contient des éléments sans espace de noms éligible. Pour lire des éléments non qualifiés, définissez la valeur elementFormDefault
« qualifié » dans votre schéma XML, comme le montre l’exemple suivant.
<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>
Les classes qui héritent de la TextReader classe incluent les StreamReader classes et StringReader .
Notes
Si le schéma de votre DataSet contient des éléments du même nom, mais de type différent, dans le même espace de noms, une exception est levée lorsque vous tentez de lire le schéma dans le DataSet avec ReadXml en spécifiant XmlReadMode.ReadSchema
. Cette exception ne se produit pas si vous utilisez .NET Framework version 1.0.
Voir aussi
S’applique à
ReadXml(Stream)
- Source:
- DataSet.cs
- Source:
- DataSet.cs
- Source:
- DataSet.cs
public:
System::Data::XmlReadMode ReadXml(System::IO::Stream ^ stream);
public System.Data.XmlReadMode ReadXml (System.IO.Stream? stream);
public System.Data.XmlReadMode ReadXml (System.IO.Stream stream);
member this.ReadXml : System.IO.Stream -> System.Data.XmlReadMode
Public Function ReadXml (stream As Stream) As XmlReadMode
Paramètres
Retours
XmlReadMode utilisé pour lire les données.
Exemples
L’exemple suivant crée d’abord un simple DataSet avec une DataTable, deux colonnes et dix lignes. Le DataSet schéma et les données sont écrits sur le disque en appelant la WriteXml méthode . Un second DataSet est créé et la ReadXml méthode est utilisée pour le remplir de schéma et de données.
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
Remarques
La ReadXml méthode permet de lire les données uniquement, ou les données et le schéma dans un à partir d’un DataSet document XML, tandis que la ReadXmlSchema méthode lit uniquement le schéma. Pour lire à la fois les données et le schéma, utilisez l’une ReadXML
des surcharges qui inclut le mode
paramètre et définissez sa valeur sur ReadSchema
.
Notez qu’il en va de même pour les WriteXml méthodes et WriteXmlSchema , respectivement. Pour écrire des données XML, ou des schémas et des données à partir de , DataSet
utilisez la WriteXml
méthode . Pour écrire uniquement le schéma, utilisez la WriteXmlSchema
méthode .
Notes
Un InvalidOperationException sera levée si un type de colonne dans le DataRow
en cours de lecture ou écrit dans implémente IDynamicMetaObjectProvider et n’implémente IXmlSerializablepas .
Si un schéma en ligne est spécifié, le schéma en ligne est utilisé pour étendre la structure relationnelle existante avant le chargement des données. S’il existe des conflits (par exemple, la même colonne dans la même table définie avec différents types de données), une exception est levée.
Si aucun schéma en ligne n’est spécifié, la structure relationnelle est étendue par inférence, si nécessaire, en fonction de la structure du document XML. Si le schéma ne peut pas être étendu via l’inférence afin d’exposer toutes les données, une exception est levée.
Notes
le DataSet
n’associe pas un élément XML à son correspondant DataColumn
ou DataTable
lorsque des caractères XML légaux tels que ( » _ ») sont placés dans une séquence d’échappement dans le code XML sérialisé. Le DataSet
lui-même échappe uniquement aux caractères XML non autorisés dans les noms d’éléments XML et ne peut donc consommer que le même. Lorsque des caractères légaux dans le nom de l’élément XML sont placés dans une séquence d’échappement, l’élément est ignoré lors du traitement.
Si le schéma XML d’un DataSet inclut targetNamespace
, les données peuvent ne pas être lues et vous pouvez rencontrer des exceptions lors de l’appel ReadXml pour charger le avec xml DataSet qui contient des éléments sans espace de noms éligible. Pour lire des éléments non qualifiés, définissez elementFormDefault
égal à « qualified » dans votre schéma XML, comme le montre l’exemple suivant.
<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>
Notes
Si le schéma de votre DataSet contient des éléments du même nom, mais de type différent, dans le même espace de noms, une exception est levée lorsque vous tentez de lire le schéma dans le DataSet avec ReadXml en spécifiant XmlReadMode.ReadSchema
. Cette exception ne se produit pas si vous utilisez .NET Framework version 1.0.
Voir aussi
- ReadXmlSchema(XmlReader)
- WriteXml(Stream)
- WriteXmlSchema(Stream)
- Utilisation de DataSets dans ADO.NET
S’applique à
ReadXml(XmlReader)
- Source:
- DataSet.cs
- Source:
- DataSet.cs
- Source:
- DataSet.cs
public:
System::Data::XmlReadMode ReadXml(System::Xml::XmlReader ^ reader);
public System.Data.XmlReadMode ReadXml (System.Xml.XmlReader? reader);
public System.Data.XmlReadMode ReadXml (System.Xml.XmlReader reader);
member this.ReadXml : System.Xml.XmlReader -> System.Data.XmlReadMode
Public Function ReadXml (reader As XmlReader) As XmlReadMode
Paramètres
Retours
XmlReadMode
utilisé pour lire les données.
Exemples
L’exemple suivant crée d’abord un simple DataSet avec une DataTable, deux colonnes et dix lignes. Le DataSet schéma et les données sont écrits sur le disque en appelant la WriteXml méthode . Une seconde DataSet est créée et la ReadXml méthode est utilisée pour la remplir avec le schéma et les données.
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
Remarques
La ReadXml méthode permet de lire uniquement les données, ou à la fois les données et le schéma dans un DataSet document XML, tandis que la ReadXmlSchema méthode lit uniquement le schéma. Pour lire à la fois les données et le schéma, utilisez l’une ReadXML
des surcharges qui incluent le mode
paramètre et définissez sa valeur sur ReadSchema
.
Notez qu’il en va de même pour les WriteXml méthodes et WriteXmlSchema , respectivement. Pour écrire des données XML, ou un schéma et des données à partir du DataSet
, utilisez la WriteXml
méthode . Pour écrire uniquement le schéma, utilisez la WriteXmlSchema
méthode .
Notes
Un InvalidOperationException est levée si un type de colonne dans le DataRow
en cours de lecture ou d’écriture dans implémente IDynamicMetaObjectProvider et n’implémente IXmlSerializablepas .
Si un schéma en ligne est spécifié, le schéma en ligne est utilisé pour étendre la structure relationnelle existante avant le chargement des données. S’il existe des conflits (par exemple, la même colonne dans la même table définie avec différents types de données), une exception est levée.
Si aucun schéma en ligne n’est spécifié, la structure relationnelle est étendue par inférence, si nécessaire, en fonction de la structure du document XML. Si le schéma ne peut pas être étendu via l’inférence afin d’exposer toutes les données, une exception est levée.
Notes
Le DataSet
n’associe pas un élément XML à son correspondant DataColumn
ou DataTable
lorsque des caractères XML légaux tels que ( » _ « ) sont placés dans une séquence d’échappement dans le code XML sérialisé. Le DataSet
lui-même échappe uniquement aux caractères XML illégaux dans les noms d’éléments XML et ne peut donc consommer que le même. Lorsque les caractères juridiques dans le nom de l’élément XML sont placés dans une séquence d’échappement, l’élément est ignoré lors du traitement.
Si le schéma XML d’un DataSet inclut un targetNamespace
, les données peuvent ne pas être lues, et vous pouvez rencontrer des exceptions lors de l’appel ReadXml de pour charger avec xml DataSet qui contient des éléments sans espace de noms éligible. Pour lire les éléments non qualifiés, définissez elementFormDefault
égal à « qualified » dans votre schéma XML, comme le montre l’exemple suivant.
<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 hérite de XmlReader.
Notes
Si le schéma de votre DataSet contient des éléments du même nom, mais de type différent, dans le même espace de noms, une exception est levée lorsque vous tentez de lire le schéma dans le DataSet avec ReadXml en spécifiant XmlReadMode.ReadSchema
. Cette exception ne se produit pas si vous utilisez .NET Framework version 1.0.