Partager via


DataContractSerializer.IsStartObject Méthode

Définition

Détermine si le lecteur est positionné sur un objet pouvant être désérialisé.

Surcharges

IsStartObject(XmlReader)

Détermine si la classe XmlReader est positionnée sur un objet pouvant être désérialisé.

IsStartObject(XmlDictionaryReader)

Détermine si la classe XmlDictionaryReader est positionnée sur un objet pouvant être désérialisé.

IsStartObject(XmlReader)

Source:
DataContractSerializer.cs
Source:
DataContractSerializer.cs
Source:
DataContractSerializer.cs

Détermine si la classe XmlReader est positionnée sur un objet pouvant être désérialisé.

public:
 override bool IsStartObject(System::Xml::XmlReader ^ reader);
public override bool IsStartObject (System.Xml.XmlReader reader);
override this.IsStartObject : System.Xml.XmlReader -> bool
Public Overrides Function IsStartObject (reader As XmlReader) As Boolean

Paramètres

reader
XmlReader

XmlReader utilisé pour lire le flux XML.

Retours

true si le lecteur est sur l'élément de départ du flux à lire ; sinon, false.

S’applique à

IsStartObject(XmlDictionaryReader)

Source:
DataContractSerializer.cs
Source:
DataContractSerializer.cs
Source:
DataContractSerializer.cs

Détermine si la classe XmlDictionaryReader est positionnée sur un objet pouvant être désérialisé.

public:
 override bool IsStartObject(System::Xml::XmlDictionaryReader ^ reader);
public override bool IsStartObject (System.Xml.XmlDictionaryReader reader);
override this.IsStartObject : System.Xml.XmlDictionaryReader -> bool
Public Overrides Function IsStartObject (reader As XmlDictionaryReader) As Boolean

Paramètres

reader
XmlDictionaryReader

XmlDictionaryReader utilisé pour lire le flux XML.

Retours

true si le lecteur est sur l'élément de départ du flux à lire ; sinon, false.

Exemples

L'exemple suivant utilise la propriété IsStartObject pour déterminer si le début des données a été trouvé.

public static void ReadObjectData(string path)
{
    // Create the reader.
    FileStream fs = new FileStream(path, FileMode.Open);
    XmlDictionaryReader reader =
        XmlDictionaryReader.CreateTextReader(fs, new XmlDictionaryReaderQuotas());

    // Create the DataContractSerializer specifying the type,
    // root and namespace to use. The root value corresponds
    // to the DataContract.Name value, and the namespace value
    // corresponds to the DataContract.Namespace value.
    DataContractSerializer ser =
        new DataContractSerializer(typeof(Person),
        "Customer", @"http://www.contoso.com");

    // Test if the serializer is on the start of the
    // object data. If so, read the data and write it
    // to the console.
    while (reader.Read())
    {
        if (ser.IsStartObject(reader))
        {
            Console.WriteLine("Found the element");
            Person p = (Person)ser.ReadObject(reader);
            Console.WriteLine("{0} {1}    id:{2}",
                p.FirstName, p.LastName, p.ID);
        }

        Console.WriteLine(reader.Name);
        break;
    }
    fs.Flush();
    fs.Close();
}
Public Shared Sub ReadObjectData(ByVal path As String) 
    ' Create the reader.
    Dim fs As New FileStream(path, FileMode.Open)
    Dim reader As XmlDictionaryReader = _
        XmlDictionaryReader.CreateTextReader(fs, New XmlDictionaryReaderQuotas())
    
    ' Create the DataContractSerializer specifying the type, 
    ' root and namespace to use. The root value corresponds
    ' to the DataContract.Name value, and the namespace value
    ' corresponds to the DataContract.Namespace value.
    Dim ser As New DataContractSerializer(GetType(Person), _
        "Customer", "http://www.contoso.com")
    
    ' Test if the serializer is on the start of the 
    ' object data. If so, read the data and write it 
    ' to the console.
    While reader.Read()
        If ser.IsStartObject(reader) Then
            Console.WriteLine("Found the element")
            Dim p As Person = CType(ser.ReadObject(reader), Person)
            Console.WriteLine("{0} {1}    id:{2}", p.FirstName, p.LastName, p.ID)
        End If
                
        Console.WriteLine(reader.Name)
    End While
    
    fs.Flush()
    fs.Close()

End Sub

Remarques

IsStartObject détermine s'il peut lire un objet en vérifiant s'il est positionné sur un élément XML. Il examine également le nom et espace de noms de l'élément XML où est positionné le lecteur et compare les valeurs aux nom et espace de noms attendus. Le nom et l'espace de noms attendus peuvent être définis à l'aide des éléments suivants : le nom et l'espace de noms du type passé au constructeur ou les valeurs rootName et rootNamespace passées au constructeur (s'il est présent).

S’applique à