DataContractSerializer.IsStartObject Methode

Definitie

Bepaalt of de lezer is geplaatst op een object dat kan worden gedeserialiseerd.

Overloads

Name Description
IsStartObject(XmlReader)

Bepaalt of de positie van het XmlReader object is gebaseerd op een object dat kan worden gedeserialiseerd.

IsStartObject(XmlDictionaryReader)

Bepaalt of de positie van het XmlDictionaryReader object is gebaseerd op een object dat kan worden gedeserialiseerd.

IsStartObject(XmlReader)

Bepaalt of de positie van het XmlReader object is gebaseerd op een object dat kan worden gedeserialiseerd.

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

Parameters

reader
XmlReader

De XmlReader stroom die wordt gebruikt om de XML-stroom te lezen.

Retouren

true als de lezer zich aan het beginelement van de stroom bevindt om te lezen; anders, false.

Van toepassing op

IsStartObject(XmlDictionaryReader)

Bepaalt of de positie van het XmlDictionaryReader object is gebaseerd op een object dat kan worden gedeserialiseerd.

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

Parameters

reader
XmlDictionaryReader

Een XmlDictionaryReader gebruikt om de XML-stroom te lezen.

Retouren

true als de lezer zich aan het beginelement van de stroom bevindt om te lezen; anders, false.

Voorbeelden

In het volgende voorbeeld wordt de IsStartObject eigenschap gebruikt om te bepalen of het begin van de gegevens is gevonden.

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

Opmerkingen

Hiermee IsStartObject wordt bepaald of een object kan worden gelezen door te controleren of het is geplaatst op een XML-element. Ook wordt de naam en naamruimte van het XML-element onderzocht waarop de lezer zich bevindt en worden de waarden vergeleken met de verwachte naam en naamruimte. De verwachte naam en naamruimte kunnen worden ingesteld met het volgende: de naam en naamruimte van het gegevenscontract van het type dat wordt doorgegeven aan de constructor, of de rootName waarden die rootNamespace worden doorgegeven aan de constructor (indien aanwezig).

Van toepassing op