DataContractSerializer.IsStartObject Méthode

Définition

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

Surcharges

Nom Description
IsStartObject(XmlReader)

Détermine si l’objet XmlReader est positionné sur un objet pouvant être désérialisé.

IsStartObject(XmlDictionaryReader)

Détermine si l’objet XmlDictionaryReader est positionné sur un objet pouvant être désérialisé.

IsStartObject(XmlReader)

Détermine si l’objet XmlReader est positionné 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 à l’élément de début du flux à lire ; sinon, false.

S’applique à

IsStartObject(XmlDictionaryReader)

Détermine si l’objet XmlDictionaryReader est positionné 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

Utilisé XmlDictionaryReader pour lire le flux XML.

Retours

true si le lecteur est à l’élément de début du flux à lire ; sinon, false.

Exemples

L’exemple suivant utilise la IsStartObject propriété 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

Détermine IsStartObject s’il peut lire un objet en vérifiant qu’il est positionné sur un élément XML. Il examine également le nom et l’espace de noms de l’élément XML sur lequel le lecteur est positionné et compare les valeurs au nom et à l’espace de noms attendus. Le nom et l’espace de noms attendus peuvent être définis avec les éléments suivants : le nom du contrat de données et l’espace de noms du type passé dans le constructeur, ou les rootNamerootNamespace valeurs passées dans le constructeur (le cas échéant).

S’applique à