XmlReader Klasa

Definicja

Reprezentuje czytnik, który zapewnia szybki, niecachedowany, tylko do przekazywania dostęp do danych XML.

public ref class XmlReader abstract : IDisposable
public ref class XmlReader abstract
public abstract class XmlReader : IDisposable
public abstract class XmlReader
type XmlReader = class
    interface IDisposable
type XmlReader = class
Public MustInherit Class XmlReader
Implements IDisposable
Public MustInherit Class XmlReader
Dziedziczenie
XmlReader
Pochodne
Implementuje

Przykłady

Poniższy przykładowy kod pokazuje, jak użyć interfejsu API asynchronicznego do analizowania kodu XML.

async Task TestReader(System.IO.Stream stream)
{
    XmlReaderSettings settings = new XmlReaderSettings();
    settings.Async = true;

    using (XmlReader reader = XmlReader.Create(stream, settings))
    {
        while (await reader.ReadAsync())
        {
            switch (reader.NodeType)
            {
                case XmlNodeType.Element:
                    Console.WriteLine("Start Element {0}", reader.Name);
                    break;
                case XmlNodeType.Text:
                    Console.WriteLine("Text Node: {0}",
                             await reader.GetValueAsync());
                    break;
                case XmlNodeType.EndElement:
                    Console.WriteLine("End Element {0}", reader.Name);
                    break;
                default:
                    Console.WriteLine("Other node {0} with value {1}",
                                    reader.NodeType, reader.Value);
                    break;
            }
        }
    }
}
Public Async Function TestReader(stream As System.IO.Stream) As Task
    Dim settings As New XmlReaderSettings()
    settings.Async = True

    Using reader As XmlReader = XmlReader.Create(stream, settings)
        While (Await reader.ReadAsync())
            Select Case (reader.NodeType)
                Case XmlNodeType.Element
                    Console.WriteLine("Start Element {0}", reader.Name)
                Case XmlNodeType.Text
                    Console.WriteLine("Text Node: {0}",
                             Await reader.GetValueAsync())
                Case XmlNodeType.EndElement
                    Console.WriteLine("End Element {0}", reader.Name)
                Case Else
                    Console.WriteLine("Other node {0} with value {1}",
                                    reader.NodeType, reader.Value)
            End Select
        End While
    End Using
End Function

Uwagi

Aby uzyskać więcej informacji na temat tego interfejsu API, zobacz Dodatkowe uwagi dotyczące interfejsu API dla elementu XmlReader.

Konstruktory

Nazwa Opis
XmlReader()

Inicjuje nowe wystąpienie klasy XmlReader.

Właściwości

Nazwa Opis
AttributeCount

Po zastąpieniu w klasie pochodnej pobiera liczbę atrybutów w bieżącym węźle.

BaseURI

Po zastąpieniu w klasie pochodnej pobiera podstawowy identyfikator URI bieżącego węzła.

CanReadBinaryContent

Pobiera wartość wskazującą, czy XmlReader implementuje metody odczytu zawartości binarnej.

CanReadValueChunk

Pobiera wartość wskazującą, czy XmlReader metoda implementuje ReadValueChunk(Char[], Int32, Int32) .

CanResolveEntity

Pobiera wartość wskazującą, czy ten czytelnik może analizować i rozpoznawać jednostki.

Depth

Po zastąpieniu w klasie pochodnej pobiera głębokość bieżącego węzła w dokumencie XML.

EOF

Po zastąpieniu w klasie pochodnej pobiera wartość wskazującą, czy czytnik jest umieszczony na końcu strumienia.

HasAttributes

Pobiera wartość wskazującą, czy bieżący węzeł ma jakiekolwiek atrybuty.

HasValue

Po zastąpieniu w klasie pochodnej pobiera wartość wskazującą Value, czy bieżący węzeł może mieć wartość .

IsDefault

Po zastąpieniu w klasie pochodnej pobiera wartość wskazującą, czy bieżący węzeł jest atrybutem wygenerowanym na podstawie wartości domyślnej zdefiniowanej w dtD lub schemacie.

IsEmptyElement

Po zastąpieniu w klasie pochodnej pobiera wartość wskazującą, czy bieżący węzeł jest pustym elementem (na przykład <MyElement/>).

Item[Int32]

Po zastąpieniu w klasie pochodnej pobiera wartość atrybutu z określonym indeksem.

Item[String, String]

Po przesłonięciu w klasie pochodnej pobiera wartość atrybutu z określonymi LocalName wartościami i NamespaceURI.

Item[String]

Po zastąpieniu w klasie pochodnej pobiera wartość atrybutu z określonym Nameparametrem .

LocalName

Po zastąpieniu w klasie pochodnej pobiera lokalną nazwę bieżącego węzła.

Name

Po zastąpieniu w klasie pochodnej pobiera kwalifikowaną nazwę bieżącego węzła.

NamespaceURI

Po zastąpieniu w klasie pochodnej pobiera identyfikator URI przestrzeni nazw (zgodnie ze specyfikacją przestrzeni nazw W3C) węzła, na którym znajduje się czytnik.

NameTable

Po zastąpieniu w klasie pochodnej program pobiera XmlNameTable element skojarzony z tą implementacją.

NodeType

Po zastąpieniu w klasie pochodnej pobiera typ bieżącego węzła.

Prefix

Po zastąpieniu w klasie pochodnej pobiera prefiks przestrzeni nazw skojarzony z bieżącym węzłem.

QuoteChar

Po zastąpieniu w klasie pochodnej pobiera znak cudzysłowu używany do ujęć wartość węzła atrybutu.

ReadState

Po przesłonięciu w klasie pochodnej pobiera stan czytnika.

SchemaInfo

Pobiera informacje o schemacie, które zostały przypisane do bieżącego węzła w wyniku weryfikacji schematu.

Settings

Pobiera obiekt użyty do utworzenia XmlReaderSettings tego XmlReader wystąpienia.

Value

Po zastąpieniu w klasie pochodnej pobiera wartość tekstową bieżącego węzła.

ValueType

Pobiera typ środowiska uruchomieniowego języka wspólnego (CLR) dla bieżącego węzła.

XmlLang

Po zastąpieniu w klasie pochodnej pobiera bieżący xml:lang zakres.

XmlSpace

Po zastąpieniu w klasie pochodnej pobiera bieżący xml:space zakres.

Metody

Nazwa Opis
Close()

Po zastąpieniu w klasie pochodnej zmienia wartość na ReadStateClosed.

Create(Stream, XmlReaderSettings, String)

Tworzy nowe XmlReader wystąpienie przy użyciu określonego strumienia, podstawowego identyfikatora URI i ustawień.

Create(Stream, XmlReaderSettings, XmlParserContext)

Tworzy nowe XmlReader wystąpienie przy użyciu określonego strumienia, ustawień i informacji kontekstowych na potrzeby analizowania.

Create(Stream, XmlReaderSettings)

Tworzy nowe XmlReader wystąpienie z określonym strumieniem i ustawieniami.

Create(Stream)

Tworzy nowe XmlReader wystąpienie przy użyciu określonego strumienia z ustawieniami domyślnymi.

Create(String, XmlReaderSettings, XmlParserContext)

Tworzy nowe XmlReader wystąpienie przy użyciu określonego identyfikatora URI, ustawień i informacji kontekstowych na potrzeby analizowania.

Create(String, XmlReaderSettings)

Tworzy nowe XmlReader wystąpienie przy użyciu określonego identyfikatora URI i ustawień.

Create(String)

Tworzy nowe XmlReader wystąpienie z określonym identyfikatorem URI.

Create(TextReader, XmlReaderSettings, String)

Tworzy nowe XmlReader wystąpienie przy użyciu określonego czytnika tekstu, ustawień i podstawowego identyfikatora URI.

Create(TextReader, XmlReaderSettings, XmlParserContext)

Tworzy nowe XmlReader wystąpienie przy użyciu określonego czytnika tekstu, ustawień i informacji kontekstowych na potrzeby analizowania.

Create(TextReader, XmlReaderSettings)

Tworzy nowe XmlReader wystąpienie przy użyciu określonego czytnika tekstu i ustawień.

Create(TextReader)

Tworzy nowe XmlReader wystąpienie przy użyciu określonego czytnika tekstu.

Create(XmlReader, XmlReaderSettings)

Tworzy nowe XmlReader wystąpienie przy użyciu określonego czytnika i ustawień XML.

Dispose()

Zwalnia wszystkie zasoby używane przez bieżące wystąpienie XmlReader klasy.

Dispose(Boolean)

Zwalnia niezarządzane zasoby używane przez XmlReader program i opcjonalnie zwalnia zarządzane zasoby.

Equals(Object)

Określa, czy określony obiekt jest równy bieżącemu obiektowi.

(Odziedziczone po Object)
GetAttribute(Int32)

Po zastąpieniu w klasie pochodnej pobiera wartość atrybutu z określonym indeksem.

GetAttribute(String, String)

Po przesłonięciu w klasie pochodnej pobiera wartość atrybutu z określonymi LocalName wartościami i NamespaceURI.

GetAttribute(String)

Po zastąpieniu w klasie pochodnej pobiera wartość atrybutu z określonym Nameparametrem .

GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Pobiera Type bieżącego wystąpienia.

(Odziedziczone po Object)
GetValueAsync()

Asynchronicznie pobiera wartość bieżącego węzła.

IsName(String)

Zwraca wartość wskazującą, czy argument ciągu jest prawidłową nazwą XML.

IsNameToken(String)

Zwraca wartość wskazującą, czy argument ciągu jest prawidłowym tokenem nazwy XML.

IsStartElement()

Wywołuje MoveToContent() i sprawdza, czy bieżący węzeł zawartości jest tagiem początkowym lub pustym tagiem elementu.

IsStartElement(String, String)

Wywołuje MoveToContent() i sprawdza, czy bieżący węzeł zawartości jest tagiem początkowym lub pustym tagiem elementu, a LocalName właściwości i NamespaceURI elementu znalezionego są zgodne z podanymi ciągami.

IsStartElement(String)

Wywołuje MoveToContent() i sprawdza, czy bieżący węzeł zawartości jest tagiem początkowym lub pustym tagiem elementu, a Name właściwość znalezionego elementu jest zgodna z danym argumentem.

LookupNamespace(String)

Po zastąpieniu w klasie pochodnej rozpoznawanie prefiksu przestrzeni nazw w zakresie bieżącego elementu.

MemberwiseClone()

Tworzy płytkią kopię bieżącego Object.

(Odziedziczone po Object)
MoveToAttribute(Int32)

Po przesłonięciu w klasie pochodnej zostanie przeniesiony do atrybutu z określonym indeksem.

MoveToAttribute(String, String)

Po przesłonięciu w klasie pochodnej zostanie przeniesiony do atrybutu z określonymi LocalName wartościami i NamespaceURI.

MoveToAttribute(String)

Po przesłonięciu w klasie pochodnej zostanie przeniesiony do atrybutu o określonej wartości Name.

MoveToContent()

Sprawdza, czy bieżący węzeł jest zawartością (tekst inny niż biały, CDATA, Element, EndElement, EntityReferencelub EndEntity) węzła. Jeśli węzeł nie jest węzłem zawartości, czytelnik pomija następny węzeł zawartości lub koniec pliku. Pomija on węzły następującego typu: ProcessingInstruction, , DocumentTypeComment, Whitespacelub SignificantWhitespace.

MoveToContentAsync()

Asynchronicznie sprawdza, czy bieżący węzeł jest węzłem zawartości. Jeśli węzeł nie jest węzłem zawartości, czytelnik pomija następny węzeł zawartości lub koniec pliku.

MoveToElement()

Po zastąpieniu w klasie pochodnej zostanie przeniesiony do elementu zawierającego bieżący węzeł atrybutu.

MoveToFirstAttribute()

Po przesłonięciu w klasie pochodnej zostanie przeniesiony do pierwszego atrybutu.

MoveToNextAttribute()

Po przesłonięciu w klasie pochodnej zostanie przeniesiony do następnego atrybutu.

Read()

Po zastąpieniu w klasie pochodnej odczytuje następny węzeł ze strumienia.

ReadAsync()

Asynchronicznie odczytuje następny węzeł ze strumienia.

ReadAttributeValue()

Po zastąpieniu w klasie pochodnej analizuje wartość atrybutu w co najmniej jednym TextEntityReference, lub EndEntity węzłach.

ReadContentAs(Type, IXmlNamespaceResolver)

Odczytuje zawartość jako obiekt określonego typu.

ReadContentAsAsync(Type, IXmlNamespaceResolver)

Asynchronicznie odczytuje zawartość jako obiekt określonego typu.

ReadContentAsBase64(Byte[], Int32, Int32)

Odczytuje zawartość i zwraca zdekodowane bajty binarne Base64.

ReadContentAsBase64Async(Byte[], Int32, Int32)

Asynchronicznie odczytuje zawartość i zwraca dekodowane bajty binarne Base64.

ReadContentAsBinHex(Byte[], Int32, Int32)

Odczytuje zawartość i zwraca BinHex zdekodowane bajty binarne.

ReadContentAsBinHexAsync(Byte[], Int32, Int32)

Asynchronicznie odczytuje zawartość i zwraca BinHex zdekodowane bajty binarne.

ReadContentAsBoolean()

Odczytuje zawartość tekstową w bieżącym położeniu jako Boolean.

ReadContentAsDateTime()

Odczytuje zawartość tekstową na bieżącym położeniu jako DateTime obiekt.

ReadContentAsDateTimeOffset()

Odczytuje zawartość tekstową na bieżącym położeniu jako DateTimeOffset obiekt.

ReadContentAsDecimal()

Odczytuje zawartość tekstową na bieżącym położeniu jako Decimal obiekt.

ReadContentAsDouble()

Odczytuje zawartość tekstową w bieżącej pozycji jako liczbę zmiennoprzecinkową o podwójnej precyzji.

ReadContentAsFloat()

Odczytuje zawartość tekstową w bieżącej pozycji jako liczbę zmiennoprzecinkową o pojedynczej precyzji.

ReadContentAsInt()

Odczytuje zawartość tekstową na bieżącym położeniu jako 32-bitową liczbę całkowitą ze znakiem.

ReadContentAsLong()

Odczytuje zawartość tekstową na bieżącym położeniu jako 64-bitową liczbę całkowitą ze znakiem.

ReadContentAsObject()

Odczytuje zawartość tekstową w bieżącym położeniu jako Object.

ReadContentAsObjectAsync()

Asynchronicznie odczytuje zawartość tekstową w bieżącym położeniu jako Object.

ReadContentAsString()

Odczytuje zawartość tekstową na bieżącym położeniu jako String obiekt.

ReadContentAsStringAsync()

Asynchronicznie odczytuje zawartość tekstową w bieżącym położeniu jako String obiekt.

ReadElementContentAs(Type, IXmlNamespaceResolver, String, String)

Sprawdza, czy określona nazwa lokalna i identyfikator URI przestrzeni nazw jest zgodna z bieżącym elementem, a następnie odczytuje zawartość elementu jako żądany typ.

ReadElementContentAs(Type, IXmlNamespaceResolver)

Odczytuje zawartość elementu jako żądany typ.

ReadElementContentAsAsync(Type, IXmlNamespaceResolver)

Asynchronicznie odczytuje zawartość elementu jako żądany typ.

ReadElementContentAsBase64(Byte[], Int32, Int32)

Odczytuje element i dekoduje Base64 zawartość.

ReadElementContentAsBase64Async(Byte[], Int32, Int32)

Asynchronicznie odczytuje element i dekoduje Base64 zawartość.

ReadElementContentAsBinHex(Byte[], Int32, Int32)

Odczytuje element i dekoduje BinHex zawartość.

ReadElementContentAsBinHexAsync(Byte[], Int32, Int32)

Asynchronicznie odczytuje element i dekoduje BinHex zawartość.

ReadElementContentAsBoolean()

Odczytuje bieżący element i zwraca zawartość jako Boolean obiekt.

ReadElementContentAsBoolean(String, String)

Sprawdza, czy określona nazwa lokalna i identyfikator URI przestrzeni nazw jest zgodna z bieżącym elementem, a następnie odczytuje bieżący element i zwraca zawartość jako Boolean obiekt.

ReadElementContentAsDateTime()

Odczytuje bieżący element i zwraca zawartość jako DateTime obiekt.

ReadElementContentAsDateTime(String, String)

Sprawdza, czy określona nazwa lokalna i identyfikator URI przestrzeni nazw jest zgodna z bieżącym elementem, a następnie odczytuje bieżący element i zwraca zawartość jako DateTime obiekt.

ReadElementContentAsDecimal()

Odczytuje bieżący element i zwraca zawartość jako Decimal obiekt.

ReadElementContentAsDecimal(String, String)

Sprawdza, czy określona nazwa lokalna i identyfikator URI przestrzeni nazw jest zgodna z bieżącym elementem, a następnie odczytuje bieżący element i zwraca zawartość jako Decimal obiekt.

ReadElementContentAsDouble()

Odczytuje bieżący element i zwraca zawartość jako liczbę zmiennoprzecinkową o podwójnej precyzji.

ReadElementContentAsDouble(String, String)

Sprawdza, czy określona nazwa lokalna i identyfikator URI przestrzeni nazw jest zgodna z bieżącym elementem, a następnie odczytuje bieżący element i zwraca zawartość jako liczbę zmiennoprzecinkową o podwójnej precyzji.

ReadElementContentAsFloat()

Odczytuje bieżący element i zwraca zawartość jako liczbę zmiennoprzecinkową o pojedynczej precyzji.

ReadElementContentAsFloat(String, String)

Sprawdza, czy określona nazwa lokalna i identyfikator URI przestrzeni nazw jest zgodna z bieżącym elementem, a następnie odczytuje bieżący element i zwraca zawartość jako liczbę zmiennoprzecinkową o pojedynczej precyzji.

ReadElementContentAsInt()

Odczytuje bieżący element i zwraca zawartość jako 32-bitową liczbę całkowitą ze znakiem.

ReadElementContentAsInt(String, String)

Sprawdza, czy określona nazwa lokalna i identyfikator URI przestrzeni nazw jest zgodna z bieżącym elementem, a następnie odczytuje bieżący element i zwraca zawartość jako 32-bitową liczbę całkowitą ze znakiem.

ReadElementContentAsLong()

Odczytuje bieżący element i zwraca zawartość jako 64-bitową liczbę całkowitą ze znakiem.

ReadElementContentAsLong(String, String)

Sprawdza, czy określona nazwa lokalna i identyfikator URI przestrzeni nazw jest zgodna z bieżącym elementem, a następnie odczytuje bieżący element i zwraca zawartość jako 64-bitową liczbę całkowitą ze znakiem.

ReadElementContentAsObject()

Odczytuje bieżący element i zwraca zawartość jako Object.

ReadElementContentAsObject(String, String)

Sprawdza, czy określona nazwa lokalna i identyfikator URI przestrzeni nazw jest zgodna z bieżącym elementem, a następnie odczytuje bieżący element i zwraca zawartość jako Object.

ReadElementContentAsObjectAsync()

Asynchronicznie odczytuje bieżący element i zwraca zawartość jako element Object.

ReadElementContentAsString()

Odczytuje bieżący element i zwraca zawartość jako String obiekt.

ReadElementContentAsString(String, String)

Sprawdza, czy określona nazwa lokalna i identyfikator URI przestrzeni nazw jest zgodna z bieżącym elementem, a następnie odczytuje bieżący element i zwraca zawartość jako String obiekt.

ReadElementContentAsStringAsync()

Asynchronicznie odczytuje bieżący element i zwraca zawartość jako String obiekt.

ReadElementString()

Odczytuje element tylko tekst. Jednak zalecamy użycie ReadElementContentAsString() metody , ponieważ zapewnia ona prostszy sposób obsługi tej operacji.

ReadElementString(String, String)

Sprawdza, czy LocalName właściwości i NamespaceURI znalezionego elementu są zgodne z podanymi ciągami przed odczytaniem elementu tylko do tekstu. Jednak zalecamy użycie ReadElementContentAsString(String, String) metody , ponieważ zapewnia ona prostszy sposób obsługi tej operacji.

ReadElementString(String)

Sprawdza, czy Name właściwość znalezionego elementu jest zgodna z danym ciągiem przed odczytaniem elementu tylko do tekstu. Jednak zalecamy użycie ReadElementContentAsString() metody , ponieważ zapewnia ona prostszy sposób obsługi tej operacji.

ReadEndElement()

Sprawdza, czy bieżący węzeł zawartości jest tagiem końcowym i przechodzi czytelnika do następnego węzła.

ReadInnerXml()

Po zastąpieniu w klasie pochodnej odczytuje całą zawartość, w tym znaczniki, jako ciąg.

ReadInnerXmlAsync()

Asynchronicznie odczytuje całą zawartość, w tym znaczniki, jako ciąg.

ReadOuterXml()

Po zastąpieniu w klasie pochodnej odczytuje zawartość, w tym znaczniki, reprezentując ten węzeł i wszystkie jego elementy podrzędne.

ReadOuterXmlAsync()

Asynchronicznie odczytuje zawartość, w tym znaczniki reprezentujące ten węzeł i wszystkie jego elementy podrzędne.

ReadStartElement()

Sprawdza, czy bieżący węzeł jest elementem i przechodzi czytelnika do następnego węzła.

ReadStartElement(String, String)

Sprawdza, czy bieżący węzeł zawartości jest elementem z daną wartością LocalName i NamespaceURI przechodzi czytelnika do następnego węzła.

ReadStartElement(String)

Sprawdza, czy bieżący węzeł zawartości jest elementem z daną wartością Name i przechodzi czytelnika do następnego węzła.

ReadString()

Po zastąpieniu w klasie pochodnej odczytuje zawartość elementu lub węzła tekstowego jako ciąg. Jednak zalecamy użycie ReadElementContentAsString metody , ponieważ zapewnia ona prostszy sposób obsługi tej operacji.

ReadSubtree()

Zwraca nowe XmlReader wystąpienie, które może służyć do odczytywania bieżącego węzła i wszystkich jego elementów podrzędnych.

ReadToDescendant(String, String)

XmlReader Przechodzi do następnego elementu podrzędnego z określoną lokalną nazwą i identyfikatorem URI przestrzeni nazw.

ReadToDescendant(String)

XmlReader Przechodzi do następnego elementu podrzędnego z określoną kwalifikowaną nazwą.

ReadToFollowing(String, String)

Odczytuje do momentu znalezienia elementu o określonej lokalnej nazwie i identyfikatorze URI przestrzeni nazw.

ReadToFollowing(String)

Odczytuje do momentu znalezienia elementu o określonej kwalifikowanej nazwie.

ReadToNextSibling(String, String)

XmlReader Przechodzi do następnego elementu równorzędnego z określoną lokalną nazwą i identyfikatorem URI przestrzeni nazw.

ReadToNextSibling(String)

XmlReader Przechodzi do następnego elementu równorzędnego z określoną kwalifikowaną nazwą.

ReadValueChunk(Char[], Int32, Int32)

Odczytuje duże strumienie tekstu osadzonego w dokumencie XML.

ReadValueChunkAsync(Char[], Int32, Int32)

Asynchronicznie odczytuje duże strumienie tekstu osadzonego w dokumencie XML.

ResolveEntity()

Po zastąpieniu w klasie pochodnej rozpoznaje odwołanie do jednostki dla EntityReference węzłów.

Skip()

Pomija elementy podrzędne bieżącego węzła.

SkipAsync()

Asynchronicznie pomija elementy podrzędne bieżącego węzła.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Jawne implementacje interfejsu

Nazwa Opis
IDisposable.Dispose()

Aby uzyskać opis tego elementu członkowskiego, zobacz Dispose().

Dotyczy

Zobacz też