Udostępnij za pośrednictwem


XmlReader Klasa

Definicja

Reprezentuje czytnik, który zapewnia szybki, niebuforowany, tylko do przodu 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ć asynchronicznego interfejsu API 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 Uwagi dotyczące dodatkowego interfejsu API dla elementu XmlReader.

Konstruktory

XmlReader()

Inicjuje nowe wystąpienie klasy XmlReader.

Właściwości

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 implementuje metodę ReadValueChunk(Char[], Int32, Int32) .

CanResolveEntity

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

Depth

Po zastąpieniu klasy 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ą, czy bieżący węzeł może mieć Valuewartość .

IsDefault

W przypadku zastąpienia w klasie pochodnej pobiera wartość wskazującą, czy bieżący węzeł jest atrybutem wygenerowanym z 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 zastąpieniu w klasie pochodnej pobiera wartość atrybutu o określonej wartości LocalName i NamespaceURI.

Item[String]

Po zastąpieniu w klasie pochodnej pobiera wartość atrybutu o określonej wartości Name.

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 przesłonięciu w klasie pochodnej zostanie XmlNameTable skojarzona z tą implementacją.

NodeType

Gdy zastąpisz klasę pochodną, 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

Close()

Po przesłonięciu w klasie pochodnej zmienia wartość na ReadStateClosed.

Create(Stream)

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

Create(Stream, XmlReaderSettings)

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

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 do analizowania.

Create(String)

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

Create(String, XmlReaderSettings)

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

Create(String, XmlReaderSettings, XmlParserContext)

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

Create(TextReader)

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

Create(TextReader, XmlReaderSettings)

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

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(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 klasy XmlReader.

Dispose(Boolean)

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

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetAttribute(Int32)

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

GetAttribute(String)

Po zastąpieniu w klasie pochodnej pobiera wartość atrybutu o określonej wartości Name.

GetAttribute(String, String)

Po zastąpieniu w klasie pochodnej pobiera wartość atrybutu o określonej wartości LocalName i NamespaceURI.

GetHashCode()

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

(Odziedziczone po Object)
GetType()

Type Pobiera bieżące wystąpienie.

(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)

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.

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.

LookupNamespace(String)

Gdy zastąpisz klasę pochodną, rozpoznaje prefiks przestrzeni nazw w zakresie bieżącego elementu.

MemberwiseClone()

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

(Odziedziczone po Object)
MoveToAttribute(Int32)

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

MoveToAttribute(String)

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

MoveToAttribute(String, String)

Po przesłonięciu w klasie pochodnej przechodzi do atrybutu o określonej wartości LocalName i NamespaceURI.

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, czytnik 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, czytnik pomija następny węzeł zawartości lub koniec pliku.

MoveToElement()

Po przesłonięciu w klasie pochodnej przechodzi 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 przechodzi do następnego atrybutu.

Read()

Po przesłonięciu w klasie pochodnej odczytuje następny węzeł ze strumienia.

ReadAsync()

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

ReadAttributeValue()

Gdy zastąpisz klasę pochodną, analizuje wartość atrybutu na co najmniej Textjeden węzeł , EntityReferencelub EndEntity węzły.

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 dekodowane 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żącej pozycji jako Boolean.

ReadContentAsDateTime()

Odczytuje zawartość tekstową w bieżącej pozycji jako DateTime obiekt.

ReadContentAsDateTimeOffset()

Odczytuje zawartość tekstową w bieżącej pozycji jako DateTimeOffset obiekt.

ReadContentAsDecimal()

Odczytuje zawartość tekstową w bieżącej pozycji 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żącej pozycji jako 32-bitową liczbę całkowitą ze znakiem.

ReadContentAsLong()

Odczytuje zawartość tekstową na bieżącej pozycji jako 64-bitową liczbę całkowitą ze znakiem.

ReadContentAsObject()

Odczytuje zawartość tekstową w bieżącej pozycji jako Object.

ReadContentAsObjectAsync()

Asynchronicznie odczytuje zawartość tekstową w bieżącej pozycji jako Object.

ReadContentAsString()

Odczytuje zawartość tekstową w bieżącej pozycji jako String obiekt.

ReadContentAsStringAsync()

Asynchronicznie odczytuje zawartość tekstową na bieżącej String pozycji jako obiekt.

ReadElementContentAs(Type, IXmlNamespaceResolver)

Odczytuje zawartość elementu jako żądany typ.

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.

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 Boolean , a następnie odczytuje bieżący element i zwraca zawartość jako 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 DateTime , a następnie odczytuje bieżący element i zwraca zawartość jako 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 Decimal , a następnie odczytuje bieżący element i zwraca zawartość jako 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 liczbę całkowitą z podpisem 32-bitowym.

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ą podpisaną.

ReadElementContentAsLong()

Odczytuje bieżący element i zwraca zawartość jako liczbę całkowitą z podpisem 64-bitowym.

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ą podpisaną.

ReadElementContentAsObject()

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

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 Objectelement .

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 String , a następnie odczytuje bieżący element i zwraca zawartość jako obiekt.

ReadElementContentAsStringAsync()

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

ReadElementString()

Odczytuje element tylko tekst. Zalecamy jednak użycie ReadElementContentAsString() metody , ponieważ zapewnia bardziej prosty 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. Zalecamy jednak użycie ReadElementContentAsString() metody , ponieważ zapewnia bardziej prosty 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. Zalecamy jednak użycie ReadElementContentAsString(String, String) metody , ponieważ zapewnia bardziej prosty 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()

Gdy zastąpisz klasę pochodną, 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ące 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)

Sprawdza, czy bieżący węzeł zawartości jest elementem z danym Name 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.

ReadString()

Gdy zastąpisz klasę pochodną, odczytuje zawartość elementu lub węzła tekstowego jako ciąg. Zalecamy jednak użycie ReadElementContentAsString metody , ponieważ zapewnia bardziej prosty 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)

XmlReader Przechodzi do następnego elementu podrzędnego o określonej kwalifikowanej nazwie.

ReadToDescendant(String, String)

XmlReader Przechodzi do następnego elementu potomnego przy użyciu określonego lokalnego identyfikatora URI i przestrzeni nazw.

ReadToFollowing(String)

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

ReadToFollowing(String, String)

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

ReadToNextSibling(String)

XmlReader Przechodzi do następnego elementu równorzędnego o określonej kwalifikowanej nazwie.

ReadToNextSibling(String, String)

XmlReader Przechodzi do następnego elementu równorzędnego przy użyciu określonego lokalnego identyfikatora URI i przestrzeni 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

IDisposable.Dispose()

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

Dotyczy

Zobacz też