DataContractSerializer.IsStartObject Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Bestimmt, ob der Leser in einem Objekt positioniert ist, das deserialisiert werden kann.
Überlädt
| Name | Beschreibung |
|---|---|
| IsStartObject(XmlReader) |
Bestimmt, ob das XmlReader Objekt in einem Objekt positioniert wird, das deserialisiert werden kann. |
| IsStartObject(XmlDictionaryReader) |
Bestimmt, ob das XmlDictionaryReader Objekt in einem Objekt positioniert wird, das deserialisiert werden kann. |
IsStartObject(XmlReader)
Bestimmt, ob das XmlReader Objekt in einem Objekt positioniert wird, das deserialisiert werden kann.
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
Parameter
Gibt zurück
truewenn sich der Leser am Startelement des zu lesenden Datenstroms befindet; andernfalls . false
Gilt für:
IsStartObject(XmlDictionaryReader)
Bestimmt, ob das XmlDictionaryReader Objekt in einem Objekt positioniert wird, das deserialisiert werden kann.
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
Parameter
- reader
- XmlDictionaryReader
Ein XmlDictionaryReader Verwendeter Zum Lesen des XML-Datenstroms.
Gibt zurück
truewenn sich der Leser am Startelement des zu lesenden Datenstroms befindet; andernfalls . false
Beispiele
Im folgenden Beispiel wird die IsStartObject Eigenschaft verwendet, um zu bestimmen, ob der Anfang der Daten gefunden wurde.
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
Hinweise
Dies IsStartObject bestimmt, ob ein Objekt gelesen werden kann, indem überprüft wird, ob es in einem XML-Element positioniert ist. Außerdem wird der Name und der Namespace des XML-Elements untersucht, an dem der Leser positioniert ist, und vergleicht die Werte mit dem erwarteten Namen und Namespace. Der erwartete Name und der Namespace können mit folgendem Festgelegt werden: der Datenvertragsname und der Namespace des Typs, der an den Konstruktor übergeben wird, oder die rootName an rootNamespace den Konstruktor übergebenen Werte (sofern vorhanden).