XmlTextReader.ResetState Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mereset status pembaca ke ReadState.Initial.
public:
void ResetState();
public void ResetState();
member this.ResetState : unit -> unit
Public Sub ResetState ()
Pengecualian
Memanggil ResetState jika pembaca dibangun menggunakan XmlParserContext.
Dokumen dalam satu aliran tidak berbagi pengodean yang sama.
Contoh
Contoh berikut menguraikan dua dokumen XML dalam satu aliran.
using System;
using System.IO;
using System.Text;
using System.Xml;
public class Sample
{
public static void Main(){
Encoding enc = new UTF8Encoding();
byte[] utf8Buffer = enc.GetBytes("<root> 12345 </root>");
enc = new UnicodeEncoding();
byte[] unicodeBuffer = enc.GetBytes("<?xml version='1.0' ?><unicode> root </unicode>");
MemoryStream memStrm = new MemoryStream();
memStrm.Write(unicodeBuffer, 0, unicodeBuffer.Length);
memStrm.Write(utf8Buffer, 0, utf8Buffer.Length);
memStrm.Position = 0;
XmlTextReader reader = new XmlTextReader(memStrm);
while(reader.Read()) {
Console.WriteLine("NodeType: {0}", reader.NodeType);
if (XmlNodeType.EndElement == reader.NodeType && "root" == reader.Name) {
break;
}
if (XmlNodeType.EndElement == reader.NodeType) {
reader.ResetState();
}
}
}
}
Imports System.IO
Imports System.Text
Imports System.Xml
public class Sample
public shared sub Main()
Dim enc as Encoding = new UTF8Encoding()
Dim utf8Buffer as byte() = enc.GetBytes("<root> 12345 </root>")
enc = new UnicodeEncoding()
Dim unicodeBuffer as byte() = enc.GetBytes("<?xml version='1.0' ?><unicode> root </unicode>")
Dim memSreaderm as MemoryStream = new MemoryStream()
memSreaderm.Write(unicodeBuffer, 0, unicodeBuffer.Length)
memSreaderm.Write(utf8Buffer, 0, utf8Buffer.Length)
memSreaderm.Position = 0
Dim reader as XmlTextReader = new XmlTextReader(memSreaderm)
while(reader.Read())
Console.WriteLine("NodeType: {0}", reader.NodeType)
if (XmlNodeType.EndElement = reader.NodeType And "root" = reader.Name)
exit while
end if
if (XmlNodeType.EndElement = reader.NodeType)
reader.ResetState()
end if
end while
end sub
end class
Keterangan
Note
Kami menyarankan Anda membuat instans XmlReader untuk memanfaatkan fungsionalitas baru dengan menggunakan metode XmlReader.Create.
Metode ini memungkinkan Anda mengurai beberapa dokumen XML dalam satu aliran. Saat Anda mencapai akhir dokumen XML, Anda dapat memanggil ResetState untuk mengatur ulang status pembaca sebagai persiapan untuk dokumen XML berikutnya.
Important
Dokumen dalam aliran harus berbagi pengodean yang sama. Jika ini tidak terjadi, ketika ResetState disebut XmlException dilemparkan. (Ini adalah perubahan perilaku dari .NET Framework versi 1.1 dan yang lebih lama).
Properti berikut ini tidak dipengaruhi oleh ResetState.