Bu makale, makine tarafından çevrilmiştir. Makaleyi İngilizce dilinde görüntülemek için İngilizce onay kutusunu işaretleyin. Ayrıca, fare işaretçisiyle İngilizce metnin üzerine gelerek metni açılır pencerede de görüntüleyebilirsiniz.
Çeviri
İngilizce

XmlReader Sınıfı

 

XML verilerini sağlayan hızlı, Önbelleklenmemiş okuyucusu, yalnızca ileri erişim temsil eder.

Bu tür için .NET Framework kaynak koda göz atmak için bkz: Reference Source.

Ad alanı:   System.Xml
Derleme:  System.Xml (System.Xml.dll içinde)


public abstract class XmlReader : IDisposable

AdıAçıklama
System_CAPS_protmethodXmlReader()

Yeni bir örneğini başlatır XmlReader sınıfı.

AdıAçıklama
System_CAPS_pubpropertyAttributeCount

Türetilen bir sınıfta geçersiz kılındığında, geçerli düğümde özniteliklerini alır.

System_CAPS_pubpropertyBaseURI

Türetilen bir sınıfta geçersiz kılındığında, geçerli düğüm temel URI'sini alır.

System_CAPS_pubpropertyCanReadBinaryContent

Belirten bir değer alır olup olmadığını XmlReader Implements ikili içeriği okuma yöntemleri.

System_CAPS_pubpropertyCanReadValueChunk

Belirten bir değer alır olup olmadığını XmlReader uygulayan ReadValueChunk yöntemi.

System_CAPS_pubpropertyCanResolveEntity

Bu okuyucu ayrıştırma ve varlıkları gidermek belirten bir değer alır.

System_CAPS_pubpropertyDepth

Türetilen bir sınıfta geçersiz kılındığında, XML belgesinde geçerli düğüm derinliğini alır.

System_CAPS_pubpropertyEOF

Türetilen bir sınıfta geçersiz kılındığında, okuyucu akış sonunda yerleştirilmiş olup olmadığını belirten bir değer alır.

System_CAPS_pubpropertyHasAttributes

Geçerli düğüm tüm öznitelikleri sahip olup olmadığını gösteren bir değer alır.

System_CAPS_pubpropertyHasValue

Türetilen bir sınıfta geçersiz kılındığında, geçerli düğüm sahip olup olmadığını belirten bir değer alır bir Value.

System_CAPS_pubpropertyIsDefault

Türetilen bir sınıfta geçersiz kılındığında, geçerli düğüm DTD'nin ya da şemada tanımlanan varsayılan değerden oluşturulan bir özniteliği olup olmadığını belirten bir değer alır.

System_CAPS_pubpropertyIsEmptyElement

Türetilen bir sınıfta geçersiz kılındığında, geçerli düğüm boş bir öğe olup olmadığını belirten bir değer alır (örneğin, <MyElement/>).

System_CAPS_pubpropertyItem[Int32]

Türetilen bir sınıfta geçersiz kılındığında, belirtilen dizinle özniteliğinin değerini alır.

System_CAPS_pubpropertyItem[String]

Türetilen bir sınıfta geçersiz kılındığında, belirtilen öznitelik değerini alır Name.

System_CAPS_pubpropertyItem[String, String]

Türetilen bir sınıfta geçersiz kılındığında, belirtilen öznitelik değerini alır LocalName ve NamespaceURI.

System_CAPS_pubpropertyLocalName

Türetilen bir sınıfta geçersiz kılındığında, geçerli düğüm yerel adını alır.

System_CAPS_pubpropertyName

Türetilen bir sınıfta geçersiz kılındığında, geçerli düğüm tam adını alır.

System_CAPS_pubpropertyNamespaceURI

Türetilen bir sınıfta geçersiz kılındığında, ad alanı düğümü (W3C ad alanı belirtiminde tanımlanan) URI'sini alır üzerinde okuyucu yerleştirilir.

System_CAPS_pubpropertyNameTable

Türetilen bir sınıfta geçersiz kılındığında, alır XmlNameTable Bu uygulama ile ilişkilendirilmiş.

System_CAPS_pubpropertyNodeType

Türetilen bir sınıfta geçersiz kılındığında, geçerli düğüm türünü alır.

System_CAPS_pubpropertyPrefix

Türetilen bir sınıfta geçersiz kılındığında, geçerli düğümle ilişkilendirilen ad alanı önekini alır.

System_CAPS_pubpropertyQuoteChar

Türetilen bir sınıfta geçersiz kılındığında, bir öznitelik düğümü değerini kapsamak için kullanılan tırnak işareti karakteri alır.

System_CAPS_pubpropertyReadState

Türetilen bir sınıfta geçersiz kılındığında, okuyucu durumunu alır.

System_CAPS_pubpropertySchemaInfo

Şema doğrulaması sonucu olarak geçerli düğüm için atanan şema bilgileri alır.

System_CAPS_pubpropertySettings

Alır XmlReaderSettings Bu oluşturmak için kullanılan nesne XmlReader örneği.

System_CAPS_pubpropertyValue

Türetilen bir sınıfta geçersiz kılındığında, geçerli düğüm metin değerini alır.

System_CAPS_pubpropertyValueType

Geçerli düğüm için ortak dil çalışma zamanı (CLR) türünü alır.

System_CAPS_pubpropertyXmlLang

Türetilen bir sınıfta geçersiz kılındığında, geçerli alır xml:lang kapsam.

System_CAPS_pubpropertyXmlSpace

Türetilen bir sınıfta geçersiz kılındığında, geçerli alır xml:space kapsam.

AdıAçıklama
System_CAPS_pubmethodClose()

Türetilen bir sınıfta geçersiz kılındığında, değişiklik ReadState için Closed.

System_CAPS_pubmethodSystem_CAPS_staticCreate(Stream)

Yeni bir oluşturur XmlReader varsayılan ayarlarla ile belirtilen akış örneği.

System_CAPS_pubmethodSystem_CAPS_staticCreate(Stream, XmlReaderSettings)

Yeni bir oluşturur XmlReader ayarları ve belirtilen akış örneği.

System_CAPS_pubmethodSystem_CAPS_staticCreate(Stream, XmlReaderSettings, String)

Yeni bir oluşturur XmlReader örneğini kullanarak belirtilen stream, taban URI ve ayarlar.

System_CAPS_pubmethodSystem_CAPS_staticCreate(Stream, XmlReaderSettings, XmlParserContext)

Yeni bir oluşturur XmlReader ayrıştırmak için belirtilen akış, ayarları ve bağlam bilgileri kullanarak örneği.

System_CAPS_pubmethodSystem_CAPS_staticCreate(String)

Yeni bir oluşturur XmlReader örneği ile belirtilen URI.

System_CAPS_pubmethodSystem_CAPS_staticCreate(String, XmlReaderSettings)

Yeni bir oluşturur XmlReader Belirtilen URI ve ayarları kullanarak örneği.

System_CAPS_pubmethodSystem_CAPS_staticCreate(String, XmlReaderSettings, XmlParserContext)

Yeni bir oluşturur XmlReader ayrıştırmak için belirtilen URI, ayarları ve bağlam bilgileri kullanarak örneği.

System_CAPS_pubmethodSystem_CAPS_staticCreate(TextReader)

Yeni bir oluşturur XmlReader belirtilen metin okuyucu kullanarak örneği.

System_CAPS_pubmethodSystem_CAPS_staticCreate(TextReader, XmlReaderSettings)

Yeni bir oluşturur XmlReader belirtilen metin okuyucu ve ayarları kullanarak örneği.

System_CAPS_pubmethodSystem_CAPS_staticCreate(TextReader, XmlReaderSettings, String)

Yeni bir oluşturur XmlReader örneği ayarları, belirtilen metin okuyucu kullanarak ve taban URI.

System_CAPS_pubmethodSystem_CAPS_staticCreate(TextReader, XmlReaderSettings, XmlParserContext)

Yeni bir oluşturur XmlReader ayrıştırmak için belirtilen metin okuyucusu, ayarları ve bağlam bilgileri kullanarak örneği.

System_CAPS_pubmethodSystem_CAPS_staticCreate(XmlReader, XmlReaderSettings)

Yeni bir oluşturur XmlReader Belirtilen XML okuyucusu ve ayarları kullanarak örneği.

System_CAPS_pubmethodDispose()

Geçerli örneği tarafından kullanılan tüm kaynakları serbest XmlReader sınıfı.

System_CAPS_protmethodDispose(Boolean)

Tarafından kullanılan yönetilmeyen kaynakları serbest XmlReader ve isteğe bağlı olarak yönetilen kaynakları serbest bırakır.

System_CAPS_pubmethodEquals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler. (Object kaynağından devralındı.)

System_CAPS_protmethodFinalize()

Atık toplama işlemi tarafından alınmadan önce nesnenin kaynaklarını boşaltmayı denemesine izin verir. (Object kaynağından devralındı.)

System_CAPS_pubmethodGetAttribute(Int32)

Türetilen bir sınıfta geçersiz kılındığında, belirtilen dizinle özniteliğinin değerini alır.

System_CAPS_pubmethodGetAttribute(String)

Türetilen bir sınıfta geçersiz kılındığında, belirtilen öznitelik değerini alır Name.

System_CAPS_pubmethodGetAttribute(String, String)

Türetilen bir sınıfta geçersiz kılındığında, belirtilen öznitelik değerini alır LocalName ve NamespaceURI.

System_CAPS_pubmethodGetHashCode()

Varsayılan karma işlevi olarak görev yapar.(Object kaynağından devralındı.)

System_CAPS_pubmethodGetType()

Alır Type geçerli örneği.(Object kaynağından devralındı.)

System_CAPS_pubmethodGetValueAsync()

Zaman uyumsuz olarak geçerli düğümün değerini alır.

System_CAPS_pubmethodSystem_CAPS_staticIsName(String)

Dize bağımsız değişkeni geçerli bir XML adı olup olmadığını belirten bir değer döndürür.

System_CAPS_pubmethodSystem_CAPS_staticIsNameToken(String)

Dize bağımsız değişkeni geçerli bir XML adı belirteci olup olmadığını belirten bir değer döndürür.

System_CAPS_pubmethodIsStartElement()

Çağrıları MoveToContent ve bir başlangıç etiketi veya boş bir öğe etiketi geçerli içerik düğümü olup olmadığını sınar.

System_CAPS_pubmethodIsStartElement(String)

Çağrıları MoveToContent ve test geçerli içerik düğüm bir başlangıç etiketi veya boş bir öğe etiketi ise ve Name bulunan öğe özelliği eşleşen verilen bağımsız değişken.

System_CAPS_pubmethodIsStartElement(String, String)

Çağrıları MoveToContent ve bir başlangıç etiketi veya boş bir öğe etiketi geçerli içerik düğümü olup olmadığını ve test LocalName ve NamespaceURI öğe bulundu özelliklerini eşleştirmek verilen dizeleri.

System_CAPS_pubmethodLookupNamespace(String)

Türetilen bir sınıfta geçersiz kılındığında, geçerli öğenin kapsam içinde bir ad alanı öneki çözümler.

System_CAPS_protmethodMemberwiseClone()

Geçerli basit bir kopyasını oluşturur Object.(Object kaynağından devralındı.)

System_CAPS_pubmethodMoveToAttribute(Int32)

Türetilen bir sınıfta geçersiz kılındığında, belirtilen dizinle öznitelik taşır.

System_CAPS_pubmethodMoveToAttribute(String)

Türetilen bir sınıfta geçersiz kılındığında, belirtilen öznitelik taşır Name.

System_CAPS_pubmethodMoveToAttribute(String, String)

Türetilen bir sınıfta geçersiz kılındığında, belirtilen öznitelik taşır LocalName ve NamespaceURI.

System_CAPS_pubmethodMoveToContent()

Geçerli düğüm bir içerik olup olmadığını denetler (beyaz boşluk metin CDATA, Element, EndElement, EntityReference, veya EndEntity) düğümü. Düğüm içerik düğümü değilse, okuyucu sonraki içerik düğümü veya dosya sonunu şimdi atlar. Aşağıdaki türde düğümleri üzerinde atlar: ProcessingInstruction, DocumentType, Comment, Whitespace, veya SignificantWhitespace.

System_CAPS_pubmethodMoveToContentAsync()

Zaman uyumsuz olarak geçerli düğüm içerik düğümü olup olmadığını denetler. Düğüm içerik düğümü değilse, okuyucu sonraki içerik düğümü veya dosya sonunu şimdi atlar.

System_CAPS_pubmethodMoveToElement()

Türetilen bir sınıfta geçersiz kılındığında, geçerli öznitelik düğümü içeren öğeye taşır.

System_CAPS_pubmethodMoveToFirstAttribute()

Türetilen bir sınıfta geçersiz kılındığında, ilk öznitelik için taşır.

System_CAPS_pubmethodMoveToNextAttribute()

Türetilen bir sınıfta geçersiz kılındığında, sonraki özniteliğe taşır.

System_CAPS_pubmethodRead()

Türetilen bir sınıfta geçersiz kılındığında, sonraki düğüme akıştan okur.

System_CAPS_pubmethodReadAsync()

Zaman uyumsuz olarak sonraki düğüme akıştan okur.

System_CAPS_pubmethodReadAttributeValue()

Türetilen bir sınıfta geçersiz kılındığında, bir veya daha fazla öznitelik değeri ayrıştırır Text, EntityReference, veya EndEntity düğümleri.

System_CAPS_pubmethodReadContentAs(Type, IXmlNamespaceResolver)

İçerik, belirtilen türde bir nesne olarak okur.

System_CAPS_pubmethodReadContentAsAsync(Type, IXmlNamespaceResolver)

Zaman uyumsuz olarak içeriği belirtilen türde bir nesne olarak okur.

System_CAPS_pubmethodReadContentAsBase64(Byte[], Int32, Int32)

İçeriği okur ve ikili bayt Base64 çözülmüş döndürür.

System_CAPS_pubmethodReadContentAsBase64Async(Byte[], Int32, Int32)

Zaman uyumsuz olarak içeriği okur ve ikili bayt Base64 çözülmüş döndürür.

System_CAPS_pubmethodReadContentAsBinHex(Byte[], Int32, Int32)

İçeriği okur ve döndürür BinHex ikili bayt çözülmüş.

System_CAPS_pubmethodReadContentAsBinHexAsync(Byte[], Int32, Int32)

Zaman uyumsuz olarak içeriği okur ve döndürür BinHex ikili bayt çözülmüş.

System_CAPS_pubmethodReadContentAsBoolean()

Geçerli konumu metin içeriği okur bir Boolean.

System_CAPS_pubmethodReadContentAsDateTime()

Geçerli konumu metin içeriği okur bir DateTime nesnesi.

System_CAPS_pubmethodReadContentAsDateTimeOffset()

Geçerli konumu metin içeriği okur bir DateTimeOffset nesnesi.

System_CAPS_pubmethodReadContentAsDecimal()

Geçerli konumu metin içeriği okur bir Decimal nesnesi.

System_CAPS_pubmethodReadContentAsDouble()

Çift duyarlıklı kayan noktalı sayı olarak geçerli konumda metin içeriğini okur.

System_CAPS_pubmethodReadContentAsFloat()

Tek duyarlıklı kayan nokta sayısı olarak geçerli konumda metin içeriğini okur.

System_CAPS_pubmethodReadContentAsInt()

Bir 32 bitlik işaretli tamsayı olarak geçerli konumda metin içeriğini okur.

System_CAPS_pubmethodReadContentAsLong()

64-bit işaretli bir tamsayı olarak geçerli konumundaki metin içeriğini okur.

System_CAPS_pubmethodReadContentAsObject()

Geçerli konumu metin içeriği okur bir Object.

System_CAPS_pubmethodReadContentAsObjectAsync()

Zaman uyumsuz geçerli konumda metin içeriğini okur bir Object.

System_CAPS_pubmethodReadContentAsString()

Geçerli konumu metin içeriği okur bir String nesnesi.

System_CAPS_pubmethodReadContentAsStringAsync()

Zaman uyumsuz geçerli konumda metin içeriğini okur bir String nesnesi.

System_CAPS_pubmethodReadElementContentAs(Type, IXmlNamespaceResolver)

Öğe içeriği istenen türü olarak okur.

System_CAPS_pubmethodReadElementContentAs(Type, IXmlNamespaceResolver, String, String)

Belirtilen yerel ad ve ad alanı URI geçerli öğenin eşleşen sonra istenen türde öğe içeriği okur denetler.

System_CAPS_pubmethodReadElementContentAsAsync(Type, IXmlNamespaceResolver)

Zaman uyumsuz olarak öğe içeriği istenen türü olarak okur.

System_CAPS_pubmethodReadElementContentAsBase64(Byte[], Int32, Int32)

Öğe okur ve kodunu çözer Base64 içeriği.

System_CAPS_pubmethodReadElementContentAsBase64Async(Byte[], Int32, Int32)

Zaman uyumsuz olarak öğe okur ve kodunu çözer Base64 içeriği.

System_CAPS_pubmethodReadElementContentAsBinHex(Byte[], Int32, Int32)

Öğe okur ve kodunu çözer BinHex içeriği.

System_CAPS_pubmethodReadElementContentAsBinHexAsync(Byte[], Int32, Int32)

Zaman uyumsuz olarak öğe okur ve kodunu çözer BinHex içeriği.

System_CAPS_pubmethodReadElementContentAsBoolean()

Geçerli öğe okur ve içeriği döndürür bir Boolean nesnesi.

System_CAPS_pubmethodReadElementContentAsBoolean(String, String)

Belirtilen yerel adı ad alanı URI geçerli öğenin eşleşen, geçerli öğe okur ve içeriği döndürür olduğunu denetler bir Boolean nesnesi.

System_CAPS_pubmethodReadElementContentAsDateTime()

Geçerli öğe okur ve içeriği döndürür bir DateTime nesnesi.

System_CAPS_pubmethodReadElementContentAsDateTime(String, String)

Belirtilen yerel adı ad alanı URI geçerli öğenin eşleşen, geçerli öğe okur ve içeriği döndürür olduğunu denetler bir DateTime nesnesi.

System_CAPS_pubmethodReadElementContentAsDecimal()

Geçerli öğe okur ve içeriği döndürür bir Decimal nesnesi.

System_CAPS_pubmethodReadElementContentAsDecimal(String, String)

Belirtilen yerel adı ad alanı URI geçerli öğenin eşleşen, geçerli öğe okur ve içeriği döndürür olduğunu denetler bir Decimal nesnesi.

System_CAPS_pubmethodReadElementContentAsDouble()

Geçerli öğe okur ve içeriği bir çift duyarlıklı kayan noktalı sayı döndürür.

System_CAPS_pubmethodReadElementContentAsDouble(String, String)

Belirtilen yerel ad ve ad alanı URI geçerli öğenin eşleşen sonra geçerli öğe okur ve içeriği bir çift duyarlıklı kayan noktalı sayı döndürür olduğunu denetler.

System_CAPS_pubmethodReadElementContentAsFloat()

Geçerli öğe okur ve içeriği tek duyarlıklı kayan noktalı sayı döndürür.

System_CAPS_pubmethodReadElementContentAsFloat(String, String)

Belirtilen yerel ad ve ad alanı URI geçerli öğenin eşleşen sonra geçerli öğe okur ve içeriği tek duyarlıklı kayan noktalı sayı döndürür olduğunu denetler.

System_CAPS_pubmethodReadElementContentAsInt()

Geçerli öğe okur ve içeriği bir 32 bitlik işaretli tamsayı döndürür.

System_CAPS_pubmethodReadElementContentAsInt(String, String)

Belirtilen yerel adı ad alanı URI geçerli öğenin eşleşen, geçerli öğe okur ve içeriği bir 32 bitlik işaretli tamsayı döndürür olduğunu denetler.

System_CAPS_pubmethodReadElementContentAsLong()

Geçerli öğe okur ve içeriği 64 bitlik işaretli tamsayı döndürür.

System_CAPS_pubmethodReadElementContentAsLong(String, String)

Belirtilen yerel adı ad alanı URI geçerli öğenin eşleşen, geçerli öğe okur ve içeriği 64 bitlik işaretli tamsayı döndürür olduğunu denetler.

System_CAPS_pubmethodReadElementContentAsObject()

Geçerli öğe okur ve içeriği döndürür bir Object.

System_CAPS_pubmethodReadElementContentAsObject(String, String)

Belirtilen yerel adı ad alanı URI geçerli öğenin eşleşen, geçerli öğe okur ve içeriği döndürür olduğunu denetler bir Object.

System_CAPS_pubmethodReadElementContentAsObjectAsync()

Zaman uyumsuz olarak geçerli öğe okur ve içeriği döndürür bir Object.

System_CAPS_pubmethodReadElementContentAsString()

Geçerli öğe okur ve içeriği döndürür bir String nesnesi.

System_CAPS_pubmethodReadElementContentAsString(String, String)

Belirtilen yerel adı ad alanı URI geçerli öğenin eşleşen, geçerli öğe okur ve içeriği döndürür olduğunu denetler bir String nesnesi.

System_CAPS_pubmethodReadElementContentAsStringAsync()

Zaman uyumsuz olarak geçerli öğe okur ve içeriği döndürür bir String nesnesi.

System_CAPS_pubmethodReadElementString()

Yalnızca metin öğesi okur. Ancak, kullanmanızı öneririz ReadElementContentAsString() yöntem bunun yerine, çünkü bu işlem işlemek için daha basit bir yol sağlar.

System_CAPS_pubmethodReadElementString(String)

Denetler Name bulunan öğesinin özelliği salt metin öğesi okumadan önce verilen dizesi ile eşleşen. Ancak, kullanmanızı öneririz ReadElementContentAsString() yöntem bunun yerine, çünkü bu işlem işlemek için daha basit bir yol sağlar.

System_CAPS_pubmethodReadElementString(String, String)

Denetler LocalName ve NamespaceURI öğenin özelliklerini bulunan bir salt metin öğesi okumadan önce verilen dizelerle eşleşir. Ancak, kullanmanızı öneririz ReadElementContentAsString(String, String) yöntem bunun yerine, çünkü bu işlem işlemek için daha basit bir yol sağlar.

System_CAPS_pubmethodReadEndElement()

Geçerli içerik düğüm bir bitiş etiketi ve sonraki düğüme okuyucu ilerler olduğunu denetler.

System_CAPS_pubmethodReadInnerXml()

Türetilen bir sınıfta geçersiz kılındığında, bir dize olarak biçimlendirme dahil olmak üzere tüm içeriği okur.

System_CAPS_pubmethodReadInnerXmlAsync()

Zaman uyumsuz olarak bir dize olarak biçimlendirme dahil olmak üzere tüm içeriği okur.

System_CAPS_pubmethodReadOuterXml()

Türetilen bir sınıfta, biçimlendirme dahil olmak üzere içerik okur kılındığında bu düğümde ve tüm alt öğelerini temsil eden.

System_CAPS_pubmethodReadOuterXmlAsync()

Bu düğümde ve tüm alt öğelerini temsil eden biçimlendirme dahil olmak üzere içerik, zaman uyumsuz olarak okur.

System_CAPS_pubmethodReadStartElement()

Geçerli düğüm bir öğedir ve sonraki düğüme okuyucu ilerler denetler.

System_CAPS_pubmethodReadStartElement(String)

Geçerli içerik düğümü olan bir öğe olup olmadığını denetler verilen Name ve sonraki düğüme okuyucu ilerletir.

System_CAPS_pubmethodReadStartElement(String, String)

Geçerli içerik düğümü olan bir öğe olup olmadığını denetler verilen LocalName ve NamespaceURI ve sonraki düğüme okuyucu ilerletir.

System_CAPS_pubmethodReadString()

Türetilen bir sınıfta geçersiz kılındığında, bir öğe veya metin düğümünün içeriği dize olarak okur. Ancak, kullanmanızı öneririz ReadElementContentAsString yöntem bunun yerine, çünkü bu işlem işlemek için daha basit bir yol sağlar.

System_CAPS_pubmethodReadSubtree()

Yeni bir döndürür XmlReader Geçerli düğüm ve tüm alt öğelerini okumak için kullanılan örneği.

System_CAPS_pubmethodReadToDescendant(String)

İlerleyen XmlReader sonraki alt öğeye belirtilen tam ada sahip.

System_CAPS_pubmethodReadToDescendant(String, String)

İlerleyen XmlReader sonraki alt öğeye belirtilen yerel adı ve ad alanı URI.

System_CAPS_pubmethodReadToFollowing(String)

Belirtilen tam ada sahip bir öğe bulunana kadar okur.

System_CAPS_pubmethodReadToFollowing(String, String)

Ad alanı URI ve belirtilen yerel ada sahip bir öğe bulunana kadar okur.

System_CAPS_pubmethodReadToNextSibling(String)

İlerleyen XmlReader sonraki eşdüzey öğeyi belirtilen tam ada sahip.

System_CAPS_pubmethodReadToNextSibling(String, String)

İlerleyen XmlReader sonraki eşdüzey öğeyi belirtilen yerel adı ve ad alanı URI.

System_CAPS_pubmethodReadValueChunk(Char[], Int32, Int32)

Bir XML belgesinde katıştırılmış metin büyük akışları okur.

System_CAPS_pubmethodReadValueChunkAsync(Char[], Int32, Int32)

Zaman uyumsuz olarak gömülü bir XML belgesi metnin büyük akışları okur.

System_CAPS_pubmethodResolveEntity()

Türetilen bir sınıfta geçersiz kılındığında, varlık başvurusu için çözümler EntityReference düğümleri.

System_CAPS_pubmethodSkip()

Geçerli düğümün alt atlar.

System_CAPS_pubmethodSkipAsync()

Zaman uyumsuz olarak geçerli düğümün alt atlar.

System_CAPS_pubmethodToString()

Geçerli nesneyi temsil eden bir dize döndürür.(Object kaynağından devralındı.)

System_CAPS_noteNot

Bu tür için .NET Framework kaynak kodunu görüntülemek için bkz: Reference Source. Kaynak kodda Çevrimiçi Gözat, çevrimdışı izleme için başvuru indirmek ve hata ayıklama sırasında (düzeltme eklerinin ve güncelleştirmeleri dahil) kaynakları aracılığıyla adım; see instructions.

XmlReader XML verileri adocument veya akış yalnızca iletme, salt okunur erişim sağlar. Bu sınıf için W3C uyan Extensible Markup Language (XML) 1.0 (fourth edition) ve Namespaces in XML 1.0 (third edition) önerileri.

XmlReaderyöntemler, XML verilerine taşıyın ve bir düğümün içeriğini okumak olanak tanır. Sınıf özelliklerini okuyucu nereye konumlandırılır olan geçerli düğümün değerini yansıtır. ReadState Özellik değeri XML okuyucusu geçerli durumunu gösterir. Örneğin, özellik ayarlanır Initial tarafından XmlReader.Read yöntemi ve Closed tarafından XmlReader.Close yöntemi. XmlReader Ayrıca veri uygunluk denetler ve bir DTD'nin veya şema karşı doğrulama sağlar.

XmlReaderverileri almak için bir çekme modeli kullanır. Bu model:

  • Durum Yönetimi doğal, yukarıdan aşağıya bir yordam iyileştirme tarafından basitleştirir.

  • Birden çok giriş akışları ve katman destekler.

  • Ayrıştırıcı, dize doğrudan yazılır ve bu nedenle ek dize kopyalama gerekliliğini ortadan kaldırır arabellek vermek istemcinin sağlar.

  • Seçici işleme destekler. İstemci öğeleri atlayın ve uygulama ilgi olanlar işlem. XML akışı (örneğin, normalleştirme) nasıl işleneceğini önceden yönetmek için özellikleri de ayarlayabilirsiniz.

Bu bölümde:

Bir XML okuyucusu oluşturuluyor
XML verileri doğrulama
Veri uyumluluğu
Düğümleri arasında gezinme
Okuma XML öğeleri
Okuma XML öznitelikleri
Okuma XML içeriği
CLR türlerine dönüştürme
Zaman uyumsuz programlama
Güvenlik konuları

Kullanım Create yöntemi oluşturmak için bir XmlReaderörneği.

.NET Framework somut uygulamaları sağlar ancak XmlReader gibi sınıf XmlTextReader, XmlNodeReader, ve XmlValidatingReader özel sınıflar yalnızca bu senaryolarda kullanmanızı öneririz, sınıfları:

  • Readan XML DOM alt ağacından istediğinizde bir XmlNode nesne, kullanın XmlNodeReader sınıfı. (Ancak, bu sınıfın DTD'nin veya şema doğrulama desteklemiyor.)

  • İstek üzerine varlıklar genişletmeniz gerekir, metninizi normalleştirilmiş içerik istemediğiniz veya istemediğiniz varsayılan döndürülen öznitelikleri, kullanın XmlTextReader sınıfı.

Geçişi üzerinde XML okuyucusu etkinleştirmek istediğiniz özellik kümesi belirtmek için bir System.Xml.XmlReaderSettings nesnesini Create yöntemi. Tek bir kullanabileceğiniz System.Xml.XmlReaderSettings aynı işlevselliğe sahip birden çok okuyucular oluşturmak için nesne ya da değişiklik System.Xml.XmlReaderSettingsYeni bir okuyucu farklı bir özellikler kümesi oluşturmak için nesne. Varolan bir okuyucu için özellikleri de kolayca ekleyebilirsiniz.

Kullanmazsanız birSystem.Xml.XmlReaderSettingsnesnesi, varsayılan ayarlar kullanılır. Bkz: Create Ayrıntılar için başvuru sayfası.

XmlReader oluşturur bir XmlException hataları XML ayrıştırılamadı. Bir özel durum oluşturulduktan sonra okuyucu durumunu tahmin edilebilir değil. Örneğin, bildirilen düğüm türü geçerli düğümün gerçek düğümü türünden farklı olabilir. Kullanım ReadState Okuyucu hata durumunda olup olmadığını denetlemek için özellik.

Bir XML belgesi ve alt öğe ilişkileri, veri türleri ve içerik kısıtlamaları yapısını tanımlamak için bir belge türü tanımı (DTD'nin) veya XML Şeması Tanım Dili (XSD) şemaya kullanın. Bir XML belgesi tarafından tanımlanan tüm söz dizimi gereksinimlerini karşılıyorsa iyi biçimlendirilmiş olmalıdır kabul W3C XML 1.0 Recommendation. Doğru biçimlendirilmemiş ve ayrıca kendi DTD'nin veya şema tarafından tanımlanmış kısıtlamalar uyan geçerli kabul edilir. (Bkz W3C XML Schema Part 1: Structures ve W3C XML Schema Part 2: Datatypesönerileri.) Bu nedenle, tüm geçerli XML belgeleri biçimlendirildiklerinden olsa da, tüm doğru biçimlendirilmemiş XML belgeleri geçerlidir.

Verileri bir DTD'nin, satır içi XSD şemasına göre doğrulayabilir veya bir XSD şeması depolanan bir XmlSchemaSet nesne (bir önbellek); bu senaryoları üzerinde açıklanan Create başvuru sayfası. XmlReader XML verileri azaltılmış (XDR) şema doğrulaması desteklemiyor.

Üzerinde aşağıdaki ayarları kullanmanız XmlReaderSettings varsa, doğrulama, ne tür belirtmek için sınıfXmlReader örneği destekler.

Bu XmlReaderSettings üyesi

Belirtmek için

DtdProcessing özelliği

DTD'nin işleme izin verilip verilmeyeceğini belirtir. DTD'nin işleme izin vermemek için varsayılandır.

ValidationType özelliği

Veri okuyucu olup olmadığını doğrulama ve doğrulama (DTD'nin veya şema) gerçekleştirmek için ne tür. Veri doğrulama varsayılandır.

ValidationEventHandler Olay

Doğrulama olayları hakkında bilgi almak için bir olay işleyicisi. Bir olay işleyicisi sağlanmazsa, bir XmlException ilk doğrulama hatası oluşturulur.

ValidationFlags özelliği

Ek doğrulama seçenekleri aracılığıyla XmlSchemaValidationFlags Numaralandırma üyeleri:

  • AllowXmlAttributes--XML öznitelikleri izin ver (xml:*) bile bunlar şemada tanımlanmamış zaman örneği belgeleri. Öznitelikler kendi veri türüne göre doğrulanır. Bkz: XmlSchemaValidationFlags ayarının belirli senaryolarda kullanmak başvuru sayfası. (Varsayılan olarak devredışı.)

  • ProcessIdentityConstraints --İşlemek kimlik kısıtlamaları (xs:ID, xs:IDREF, xs:key, xs:keyref, xs:unique) doğrulama sırasında karşılaştı. (Varsayılan olarak etkindir.)

  • ProcessSchemaLocation --Şemalar tarafından belirtilen işlem xsi:schemaLocation veya xsi:noNamespaceSchemaLocation özniteliği. (Varsayılan olarak etkindir.)

  • ProcessInlineSchema--Doğrulama sırasında satır içi XML şemaları işleme. (Varsayılan olarak devredışı.)

  • ReportValidationWarnings--Rapor olayları bir doğrulama uyarı durumunda oluşur. Belirli bir öğenin doğrulamak veya karşı özniteliği için hiçbir DTD'nin veya XML Şeması olduğunda bir uyarı genellikle verilir. ValidationEventHandler Bildirimi için kullanılır. (Varsayılan olarak devredışı.)

Schemas

XmlSchemaSet Doğrulama için kullanılacak.

XmlResolver özelliği

XmlResolverÇözme ve dış kaynaklara erişim için. Bu DTD'nin şemaları ve herhangi bir gibi dış varlıklar içerebilir xs:include veya xs:import XML şemasında bulunan öğeleri. Belirtmezseniz, bir XmlResolver, XmlReader varsayılan XmlUrlResolver hiçbir kullanıcı kimlik bilgileriyle.

Tarafından oluşturulan XML okuyucular Create methodmeet varsayılan olarak aşağıdaki uyumluluk gereksinimleri:

  • Yeni satırlar ve öznitelik değeri normalleştirilmiş göre W3C XML 1.0 Recommendation.

  • Tüm varlıklar otomatik olarak genişletilir.

  • Belge türü tanımı içinde bildirilen varsayılan öznitelikleri her zaman bile okuyucu değil doğruladığınızda eklenir.

  • Doğru XML ad alanı URI eşlenen XML öneki bildirimine izin verilir.

  • Tek bir gösterimi adlarında NotationType özniteliği bildirimi veNmTokens tek bir Enumeration declarationare farklı öznitelik.

Bu kullanın XmlReaderSettings Uyumluluk türünü denetler belirtmek için özellikleri istediğiniz etkinleştirmek:

Bu XmlReaderSettings özelliği

İçin

default

CheckCharacters özelliği

Etkinleştirme veya devre dışı aşağıdakileri denetler:

  • Karakterlerdir geçerli XML karakterleri aralığında tarafından tanımlanan 2.2 Characters W3C XML 1.0 önerisi bölümü.

  • Tüm XML tarafından tanımlanan geçerli adlardır 2.3 Common Syntactic Constructs W3C XML 1.0 önerisi bölümü.

Bu özelliği ayarlandığında true (varsayılan), bir XmlException özel durum oluştuğunda XML dosyası geçersiz karakter veya geçersiz XML adları içeriyorsa (örneğin, bir öğe adı bir sayı ile başlar).

Karakter ve ad denetimi etkindir.

Ayar CheckCharacters için false karakter karakter varlık başvuruları için denetimi devre dışı bırakır. Metin veri okuyucu işliyorsa XML adları geçerli bu ayarından bağımsız olarak her zaman denetler.

System_CAPS_noteNot

Bir DTD'nin bulunduğunda XML 1.0 öneri belge düzeyi uyumluluğu gerektirir. Bu nedenle, okuyucu desteklemek için yapılandırılmışsa, ConformanceLevel.Fragment, ancak bir belge türü tanımı (DTD'nin) XML verileri içeren bir XmlException oluşturulur.

ConformanceLevel özelliği

Zorlamak için uyumluluk düzeyini seçin:

Veri uyumluluğu, aksi takdirde bir XmlException özel durumu oluşturulur.

Document

Geçerli XML okuyucusu şu anda konumlandırılır XML düğümü düğümüdür. Tüm XmlReaderyöntemleri gerçekleştirmek işlemleri ile ilgili bu düğümde ve tüm XmlReaderözellikleri geçerli düğümün değerini yansıtır.

Aşağıdaki yöntemlerden düğümleri arasında gezinmek ve verileri ayrıştırmak kolaylaştırır.

Bu XmlReaderSettings yöntemi

İçin

Read

İlk düğümü okuyun ve akış bir düğüm ile ilerletebilirsiniz. Bu tür çağrılar genellikle içinde gerçekleştirilen bir while döngü.

Kullanım NodeType Geçerli düğüm türü (örneğin, öznitelik, yorum, öğe vb.) alınacağı özellik.

Skip

Geçerli düğümün alt atlayın ve sonraki düğüme taşıyın.

MoveToContent ve MoveToContentAsync

İçerik olmayan düğümleri atlayın ve sonraki içerik düğümü veya dosyanın sonuna taşıyın.

Olmayan içerik düğümlerini içerir ProcessingInstruction, DocumentType, Comment, Whitespace, ve SignificantWhitespace.

İçerik beyaz boşluk olmayan metin düğümleri içerir CDATA, EntityReference , veEndEntity.

ReadSubtree

Bir öğenin ve tüm alt öğelerini okuyun ve yeni bir dönüş XmlReader örneğini ayarlamak ReadState.Initial.

XML öğeleri etrafında sınır oluşturmak için bu yöntem kullanışlıdır. Örneğin, veri işleme için başka bir bileşen geçmesini istediğiniz ve verilerinizi ne kadar sınırlamak istediğiniz bileşeni erişebilirsiniz.

Bkz: XmlReader.Read bir örneği aynı anda bir metin akışına bir düğümü gezinme ve her düğüm türü görüntüleme için başvuru sayfası.

Aşağıdaki bölümler, belirli türde gibi öğeler, öznitelikler, verileri nasıl okuyabilirsiniz tanımlamak ve yazılan veriler.

Aşağıdaki tablo yöntemleri ve özellikleri listeler, XmlReader öğeleri işlemek için sınıf sağlar. Sonra XmlReader bir öğe, düğüm özellikleri gibi konumlandırılmış Name, öğe değerleri yansıtır. Üyeleri yanı sıra, genel yöntemleri ve özellikleri aşağıda açıklanan XmlReader sınıfı da öğeleri işlemek için kullanılabilir. Örneğin, kullanabileceğiniz ReadInnerXml bir öğenin içeriğini okumak için yöntem.

System_CAPS_noteNot

3.1 bölümüne bakın W3C XML 1.0 Recommendation başlangıç etiketleri tanımları için etiketleri ve boş bir öğe etiketleri bitmelidir.

Bu XmlReader üyesi

İçin

IsStartElement yöntemi

Geçerli düğüm bir başlangıç etiketi veya boş bir öğe etiketi olup olmadığını denetleyin.

ReadStartElement yöntemi

Geçerli düğüm bir öğe olup olmadığını denetleyin ve sonraki düğüme okuyucu Gelişmiş (çağrıları IsStartElement ardından Read).

ReadEndElement yöntemi

Geçerli düğüm bir bitiş etiketi olup olmadığını denetleyin ve sonraki düğüme okuyucu ilerleyin.

ReadElementString yöntemi

Yalnızca metin öğesi okuyun.

ReadToDescendant yöntemi

Belirtilen ada sahip sonraki (alt) alt öğesi XML okuyucusu ilerleyin.

ReadToNextSibling yöntemi

Belirtilen ada sahip bir sonraki eşdüzey öğesi için XML okuyucusu ilerleyin.

IsEmptyElement özelliği

Geçerli öğe bitiş öğesi etiketi olup olmadığını denetleyin. Örneğin:

  • <item num="123"/> (IsEmptyElement is true.)

  • <item num="123"> </item> (IsEmptyElement olduğu false, öğenin içeriğini boş olmasına rağmen.)

Öğeleri metin içeriğini okurken bir örnek için bkz: ReadString yöntemi. Aşağıdaki örnek kullanarak öğeleri işler bir while döngü.

while (reader.Read()) {
  if (reader.IsStartElement()) {
    if (reader.IsEmptyElement)
      Console.WriteLine("<{0}/>", reader.Name);
    else {
      Console.Write("<{0}> ", reader.Name);
      reader.Read(); // Read the start tag.
      if (reader.IsStartElement())  // Handle nested elements.
        Console.Write("\r\n<{0}>", reader.Name);
      Console.WriteLine(reader.ReadString());  //Read the text content of the element.
    }
  } 
} 

XML öznitelikleri öğelerde en yaygın olarak bulunur, ancak bunlar da XML bildirimi ve belge türü düğümleri üzerinde izin verilir.

Bir öğe düğümü üzerinde getirildiğinde MoveToAttribute yöntemi öğesi özniteliği listesine göz at olanak sağlar. Bundan sonra Not MoveToAttribute çağrılıp çağrılmadığını, düğüm özellikleri gibi Name, NamespaceURI, ve Prefix Bu öznitelik özelliklerini yansıtan, değil öznitelik öğenin özelliklerini ait.

XmlReader Bu yöntemlere ve özelliklere okumak ve öğeleri özniteliklerinde işlemek için sınıf sağlar.

Bu XmlReader üyesi

İçin

HasAttributes özelliği

Geçerli düğüm tüm öznitelikleri olup olmadığını denetleyin.

AttributeCount özelliği

Geçerli öğede özniteliklerini alır.

MoveToFirstAttribute yöntemi

İlk öznitelik bir öğedeki taşıyın.

MoveToNextAttribute yöntemi

Sonraki öznitelik bir öğedeki taşıyın.

MoveToAttribute yöntemi

Belirtilen bir özniteliğin taşıyın.

GetAttribute yöntem veya Item özelliği

Belirtilen özniteliğin değerini alın.

IsDefault özelliği

Geçerli düğüm DTD'nin ya da şemada tanımlanan varsayılan değerden oluşturulan bir özniteliği olup olmadığını denetleyin.

MoveToElement yöntemi

Geçerli özniteliğin sahip öğeyi taşıyın. Bir öğeye özniteliklerini gezinme sonra dönmek için bu yöntemi kullanın.

ReadAttributeValue yöntemi

Öznitelik değeri bir veya daha fazla ayrıştırma Text, EntityReference, veya EndEntitydüğümleri.

Herhangi bir genel XmlReader yöntemleri ve özellikleri özniteliklerini işlemek için de kullanılabilir. Örneğin, sonra XmlReader bir öznitelikte konumlandırılmış Name ve Value özellikleri öznitelik değerleri yansıtır. İçeriği de kullanabilirsiniz Read öznitelik değerini almak için yöntemleri.

Bu örnek, kullanır AttributeCount bir öğede tüm öznitelikleri gezinmek için özellik.

// Display all attributes.
if (reader.HasAttributes) {
  Console.WriteLine("Attributes of <" + reader.Name + ">");
  for (int i = 0; i < reader.AttributeCount; i++) {
    Console.WriteLine("  {0}", reader[i]);
  }
  // Move the reader back to the element node.
  reader.MoveToElement(); 
}

Bu örnek, kullanır MoveToNextAttribute yönteminde bir while döngü özniteliklerinden gidin.

if (reader.HasAttributes) {
  Console.WriteLine("Attributes of <" + reader.Name + ">");
  while (reader.MoveToNextAttribute()) {
    Console.WriteLine(" {0}={1}", reader.Name, reader.Value);
  }
  // Move the reader back to the element node.
  reader.MoveToElement();
}

XML bildirimi düğümler üzerinde okuma öznitelikleri

Bir XML bildirimi düğümde XML okuyucusu konumlandırıldığında Value özelliği sürümü, tek başına ve kodlama bilgileri tek bir dize olarak döndürür. XmlReader tarafından oluşturulan nesnelerin Create yöntemi, XmlTextReader sınıfı ve XmlValidatingReadersınıfı sürümü, tek başına ve kodlama öğeleri öznitelikleri olarak kullanıma sunma.

Belge türü düğümler üzerinde okuma öznitelikleri

Bir belge türü düğümünde XML okuyucusu konumlandırıldığında GetAttribute yöntemi ve Item özelliği, sistem ve genel değişmez değerleri için değer döndürmek için kullanılabilir. Örneğin, çağırma reader.GetAttribute("PUBLIC") ortak değeri döndürür.

İşleme yönerge düğümleri üzerinde öznitelikleri okuma

Zaman XmlReader bir işlem yönergesi düğümü konumlandırılmış Value özelliği tüm metin içeriği döndürür. İşlem yönergesi düğümü öğeleri olarak öznitelikleri kabul değil. İle okunamıyor GetAttribute veya MoveToAttribute yöntemi.

XMLReader sınıfı, bir XML dosyasından içerik okuma ve içeriği dize değerleri olarak dönüş aşağıdaki üyeleri içerir. (Dönüş CLR türleri için bkz: sonraki bölümde.)

Bu XmlReader üyesi

İçin

Value özelliği

Geçerli düğüm metin içeriğini alır. Döndürülen değer düğüm türüne göre değişir; bkz: Value Ayrıntılar için başvuru sayfası.

ReadString yöntemi

Bir öğe veya metin düğümü içeriği dize olarak alın. Bu yöntem, yönergeleri ve yorumları işleme durdurur.

Bu yöntem belirli düğüm türlerini nasıl işlediği hakkında daha fazla bilgi için bkz ReadString başvuru sayfası.

ReadInnerXml ve ReadInnerXmlAsync yöntemleri

Geçerli düğümünün biçimlendirme dahil olmak üzere, ancak başlangıç ve bitiş etiketleri hariç tüm içeriği alır. Örneğin, örneğin:

<node>this<child id="123"/></node>

ReadInnerXml döndürür:

this<child id="123"/>

ReadOuterXml ve ReadOuterXmlAsync yöntemleri

Geçerli düğüm ve alt, biçimlendirme ve başlangıç/bitiş etiketleri dahil olmak üzere tüm içeriği alır. Örneğin, örneğin:

<node>this<child id="123"/></node>

ReadOuterXml döndürür:

<node>this<child id="123"/></node>

Üyelerini kullanabileceğiniz XmlReader sınıfı (aşağıdaki tabloda listelenen) ortak dil çalışma zamanı (CLR) türleri dizeler yerine dönüş değerleri ve XML verileri okumak için. Bu üyeler el ile ayrıştırma veya dize değerlerini dönüştürmek zorunda kalmadan kodlama göreviniz için en uygun olan gösteriminde değerleri almak etkinleştirin.

  • ReadElementContentAs yöntemleri yalnızca öğe düğüm türleri üzerinde çağrılabilir. Bu yöntemler, alt öğeleri veya karma içerik içeren öğeler üzerinde kullanılamaz. Çağrıldığında, XmlReader nesnesini okur başlangıç etiketi, öğe içeriği okur ve ardından öğe bitiş etiketi taşır. İşleme yönergeleri ve yorumları yoksayılır ve varlıkları genişletilir.

  • ReadContentAsyöntemleri geçerli okuyucu konumda metin içeriği okumak ve XML verileri herhangi bir şema veya veri türü ilişkili bilgi yoksa metin içeriği istenen dönüş türüne dönüştürün. Metin, boşluk, önemli bir boşluk ve CDATA bölümler bitiştirilir. Yorumlar ve işleme talimatları atlanır ve varlık başvuruları otomatik olarak çözülür.

XmlReader Sınıfı tarafından tanımlanan kuralların kullanan W3C XML Schema Part 2: Datatypesöneri.

Bu XmlReaderyöntemi

Bu CLR türü döndürmek için

ReadContentAsBoolean ve ReadElementContentAsBoolean

Boolean

ReadContentAsDateTime ve ReadElementContentAsDateTime

DateTime

ReadContentAsDouble ve ReadElementContentAsDouble

Double

ReadContentAsLong ve ReadElementContentAsLong

Int64

ReadContentAsInt ve ReadElementContentAsInt

Int32

ReadContentAsString ve ReadElementContentAsString

String

ReadContentAs ve ReadElementContentAs

Belirttiğiniz türü returnType parametresi

ReadContentAsObject ve ReadElementContentAsObject

Tarafından belirtilen en uygun türe XmlReader.ValueType özelliği. Bkz: System.Xml sınıflardaki türü desteği eşleme bilgileri.

Bir öğeyi kolayca bir CLR türü, biçimi nedeniyle dönüştürülemiyorsa, başarılı bir dönüştürme emin olmak için şema eşlemesi kullanabilirsiniz. Aşağıdaki örnek, dönüştürülecek bir .xsd dosyasını kullanır. hire-date öğesine xs:date türü ve kullanımları ReadElementContentAsDateTime yöntemi olarak bir öğeyi döndürmek için bir DateTime nesne.

Giriş (hireDate.xml):

<employee xmlns="urn:empl-hire">
    <ID>12365</ID>
    <hire-date>2003-01-08</hire-date>
    <title>Accountant</title>
</employee>

Şema (hireDate.xsd):

<?xml version="1.0"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="urn:empl-hire" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="employee">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="ID" type="xs:unsignedShort" />
        <xs:element name="hire-date" type="xs:date" />
        <xs:element name="title" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

Kod:

// Create a validating XmlReader object. The schema 
// provides the necessary type information.
XmlReaderSettings settings = new XmlReaderSettings();
settings.ValidationType = ValidationType.Schema;
settings.Schemas.Add("urn:empl-hire", "hireDate.xsd");
using (XmlReader reader = XmlReader.Create("hireDate.xml", settings)) {

  // Move to the hire-date element.
  reader.MoveToContent();
  reader.ReadToDescendant("hire-date");

  // Return the hire-date as a DateTime object.
  DateTime hireDate = reader.ReadElementContentAsDateTime();
  Console.WriteLine("Six Month Review Date: {0}", hireDate.AddMonths(6));
}

Çıktı:

Six Month Review Date:  7/8/2003 12:00:00 AM

Çoğu XmlReader yöntemler yöntemi adlarının sonuna "Async" sahip zaman uyumsuz karşılıklarına sahiptir. Örneğin, zaman uyumsuz denk ReadContentAsObject olan ReadContentAsObjectAsync.

Aşağıdaki yöntemleri zaman uyumsuz yöntem çağrılarını kullanılabilir:

Aşağıdaki bölümlerde, zaman uyumsuz karşılıkları olmayan yöntemler için zaman uyumsuz kullanımı açıklanmaktadır.

ReadStartElement yöntemi

public static async Task ReadStartElementAsync(this XmlReader reader, string localname, string ns)
{
    if (await reader.MoveToContentAsync() != XmlNodeType.Element)
    {
        throw new InvalidOperationException(reader.NodeType.ToString() + " is an invalid XmlNodeType");
    }
    if ((reader.LocalName == localname) && (reader.NamespaceURI == ns))
    {
        await reader.ReadAsync();
    }
    else
    {
        throw new InvalidOperationException("localName or namespace doesn’t match");
    }
}

ReadEndElement yöntemi

public static async Task ReadEndElementAsync(this XmlReader reader)
{
    if (await reader.MoveToContentAsync() != XmlNodeType.EndElement)
    {
        throw new InvalidOperationException();
    }
    await reader.ReadAsync();
}

ReadToNextSibling yöntemi

public static async Task<bool> ReadToNextSiblingAsync(this XmlReader reader, string localName, string namespaceURI)
{
    if (localName == null || localName.Length == 0)
    {
        throw new ArgumentException("localName is empty or null");
    }
    if (namespaceURI == null)
    {
        throw new ArgumentNullException("namespaceURI");
    }

    // atomize local name and namespace
    localName = reader.NameTable.Add(localName);
    namespaceURI = reader.NameTable.Add(namespaceURI);

    // find the next sibling
    XmlNodeType nt;
    do
    {
        await reader.SkipAsync();
        if (reader.ReadState != ReadState.Interactive)
            break;
        nt = reader.NodeType;
        if (nt == XmlNodeType.Element &&
             ((object)localName == (object)reader.LocalName) &&
             ((object)namespaceURI ==(object)reader.NamespaceURI))
        {
            return true;
        }
    } while (nt != XmlNodeType.EndElement && !reader.EOF);

    return false;
}

ReadToFollowing yöntemi

public static async Task<bool> ReadToFollowingAsync(this XmlReader reader, string localName, string namespaceURI)
{
    if (localName == null || localName.Length == 0)
    {
        throw new ArgumentException("localName is empty or null");
    }
    if (namespaceURI == null)
    {
        throw new ArgumentNullException("namespaceURI");
    }

    // atomize local name and namespace
    localName = reader.NameTable.Add(localName);
    namespaceURI = reader.NameTable.Add(namespaceURI);

    // find element with that name
    while (await reader.ReadAsync())
    {
        if (reader.NodeType == XmlNodeType.Element && ((object)localName == (object)reader.LocalName) && ((object)namespaceURI == (object)reader.NamespaceURI))
        {
            return true;
        }
    }
    return false;
}

ReadToDescendant yöntemi

public static async Task<bool> ReadToDescendantAsync(this XmlReader reader, string localName, string namespaceURI)
{
    if (localName == null || localName.Length == 0)
    {
        throw new ArgumentException("localName is empty or null");
    }
    if (namespaceURI == null)
    {
        throw new ArgumentNullException("namespaceURI");
    }
    // save the element or root depth
    int parentDepth = reader.Depth;
    if (reader.NodeType != XmlNodeType.Element)
    {
        // adjust the depth if we are on root node
        if (reader.ReadState == ReadState.Initial)
        {
            parentDepth--;
        }
        else
        {
            return false;
        }
    }
    else if (reader.IsEmptyElement)
    {
        return false;
    }

    // atomize local name and namespace
    localName = reader.NameTable.Add(localName);
    namespaceURI = reader.NameTable.Add(namespaceURI);

    // find the descendant
    while (await reader.ReadAsync() && reader.Depth > parentDepth)
    {
        if (reader.NodeType == XmlNodeType.Element && ((object)localName == (object)reader.LocalName) && ((object)namespaceURI == (object)reader.NamespaceURI))
        {
            return true;
        }
    }
    return false;
}

İle çalışırken aşağıdakileri dikkate almanız XmlReader sınıfı:

  • Özel durumlar oluşturan XmlReader değil isteyebileceğiniz yol bilgisi kabarcıklanma uygulamanızı kadar açıklayabilir. Uygulamanızın özel durumları yakalamak ve uygun şekilde işlemek gerekir.

  • Hizmet sorunları reddi hakkında endişelisiniz veya güvenilir olmayan kaynaklardan ile ilgili DTD'nin işleme etkinleştirmeyin. DTD'nin işleme için varsayılan olarak devre dışıdır XmlReader tarafından oluşturulan nesnelerin Create yöntemi.

    Etkin DTD'nin işleme varsa, kullanabileceğiniz XmlSecureResolver kaynakları kısıtlamak için XmlReader erişebilirsiniz. XML işleme bellek ve zaman kısıtlı böylece de uygulamanızı tasarlayabilirsiniz. Örneğin, ASP.NET uygulamanızı zaman aşımı sınırlarını yapılandırabilirsiniz.

  • XML verileri, bir şema dosyası gibi harici kaynaklara referanslar içerebilir. Varsayılan olarak, dış kaynaklara kullanarak çözümlenir bir XmlUrlResolver kullanıcı kimlik bilgileri olmayan nesne. Aşağıdakilerden birini yaparak bu daha güvenli:

  • ProcessInlineSchema Ve ProcessSchemaLocation doğrulama flags bir XmlReaderSettings nesnesi varsayılan olarak ayarlanmış değil. Bu korunmasına yardımcı olur XmlReader güvenilmeyen bir kaynaktan XML verileri işlerken şema tabanlı saldırılara karşı. Bu bayrak ayarlandığında, XmlResolverXmlReaderSettings Örnek Belgeye karşılaştı şema konumlarını çözmek için kullanılan nesne XmlReader. Varsa XmlResolver özelliği null, şema konumlarını olmayan çözülmüş olsa bile ProcessInlineSchema ve ProcessSchemaLocation doğrulama bayrakları ayarlanır.

    Doğrulama sırasında eklenen şemalar yeni türleri ekleyin ve Doğrulanmakta olan belge doğrulama sonucunu değiştirebilirsiniz. Sonuç olarak, dış şemaları yalnızca güvenilir kaynaklardan gelen çözülmelidir.

    Devre dışı bırakma öneririz ProcessIdentityConstraints Belge büyük bir bölümünü kimlik kısıtlamaları olan bir şema karşı yüksek kullanılabilirlik senaryolarını güvenilmeyen, büyük XML belgelerinde doğrularken bayrak. Bu bayrak varsayılan olarak etkindir.

  • XML verileri, çok sayıda öznitelik, ad alanı bildirimi, iç içe öğe ve işlemek için oldukça zaman gerektiren diğer şeyleri içerir. Gönderilen giriş boyutunu sınırlamak için XmlReader, şunları yapabilirsiniz:

    • Ayarlayarak belge boyutunu sınırlama MaxCharactersInDocument özelliği.

    • Ayarlayarak varlıkların genişletme neden karakter sayısını sınırlamak MaxCharactersFromEntities özelliği.

    • Bir özel Oluştur IStream uygulanması için XmlReader.

  • ReadValueChunk Yöntemi, büyük veri akışları işlemek için kullanılabilir. Bu yöntem aynı anda tek bir dize değeri tüm ayırma yerine küçük sayıda karakteri okur.

  • Çok sayıda benzersiz yerel ad, ad alanı veya ön ek içeren bir XML belgesi okunurken bir sorun meydana gelebilir. Türetilen bir sınıf kullanıyorsanız, XmlReader, ve LocalName, Prefix, veya NamespaceURI özelliği her öğe için döndürülen dize eklenen bir NameTable. Tarafından tutulan koleksiyona NameTable dize tutamaçlarından sanal bellek sızıntısı oluşturma boyutu, hiçbir zaman azalır. Bu bir azaltma olduğu türetmek için NameTable sınıfının ve en büyük boyutu kotası uygulayabilirsiniz. (Kullanımını engellemek için bir yolu yoktur bir NameTable, veya geçmek için NameTable olduğu zaman tam). Belirtilen özellikleri kullanmaktan kaçının ve bunun yerine başka bir azaltma olan MoveToAttribute yöntemiyle IsStartElement yöntemi mümkün olduğunca; bu yöntemleri yoksa dönüş dizeleri ve bu nedenle overfilling sorunu önlemek NameTable koleksiyonu.

  • XmlReaderSettings nesneleri kullanıcı kimlik bilgileri gibi hassas bilgiler içerebilir. Güvenilmeyen bir bileşenini kullanabilirsiniz XmlReaderSettings nesne ve oluşturmak için kullanıcı kimlik bilgileri XmlReader verileri okumak için nesneleri. Önbelleğe alma dikkatli olun XmlReaderSettings nesneleri veya geçirilirken XmlReaderSettings bir bileşen başka bir nesneden.

  • Destekleyici bileşenleri gibi kabul etmiyorum NameTable, XmlNamespaceManager, ve XmlResolver güvenilmeyen bir kaynaktan nesneleri.

Aşağıdaki kod örneği, zaman uyumsuz APIto ayrıştırma XML kullanmayı gösterir.

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;
            }
        }
    }
}

Evrensel Windows Platformu
8 sonrasında kullanılabilir
.NET Framework
1.1 sonrasında kullanılabilir
Taşınabilir Sınıf Kitaplığı
Destekleyen: taşınabilir .NET platformları
Silverlight
2.0 sonrasında kullanılabilir
Windows Phone Silverlight
7.0 sonrasında kullanılabilir
Windows Phone
8.1 sonrasında kullanılabilir

Bu türdeki herhangi bir public static (Visual Basic’te Paylaşılan Visual Basic'te), bu tür üyeler iş parçacığı güvenliklidir. Hiçbir örnek üyesinin, iş parçacığı güvenli olduğu garanti edilmez.

Başa dön
Show: