XmlReaderSettings Sınıf

Tanım

yöntemi tarafından XmlReader oluşturulan nesnede Create destek eklenecek bir özellik kümesini belirtir.

public ref class XmlReaderSettings sealed
public sealed class XmlReaderSettings
type XmlReaderSettings = class
Public NotInheritable Class XmlReaderSettings
Devralma
XmlReaderSettings

Örnekler

Aşağıdaki örnek, gerekli kimlik bilgileriyle kullanan bir XmlReaderXmlUrlResolver oluşturur.

// Create an XmlUrlResolver with the credentials necessary to access the Web server.
var resolver = new XmlUrlResolver();
var myCred = new NetworkCredential(UserName, SecurelyStoredPassword, Domain);
resolver.Credentials = myCred;

var settings = new XmlReaderSettings();
settings.XmlResolver = resolver;

// Create the reader.
XmlReader reader = XmlReader.Create("http://serverName/data/books.xml", settings);
' Create an XmlUrlResolver with the credentials necessary to access the Web server.
Dim resolver As New XmlUrlResolver()
Dim myCred As System.Net.NetworkCredential
myCred = New System.Net.NetworkCredential(UserName, SecurelyStoredPassword, Domain)
resolver.Credentials = myCred

Dim settings As New XmlReaderSettings()
settings.XmlResolver = resolver

' Create the reader.
Dim reader As XmlReader = XmlReader.Create("http://serverName/data/books.xml", settings)

Açıklamalar

Create yöntemini kullanarak XmlReader örnekleri elde edersiniz. Bu yöntem, oluşturduğu nesnede XmlReaderSettings hangi özelliklerin uygulanacağını belirtmek için sınıfını XmlReader kullanır.

Uyumluluk denetimleri, doğrulama ve diğer yaygın senaryolar için hangi ayarların kullanılacağını öğrenmek amacıyla XmlReader ve Create başvuru sayfalarının Açıklama bölümlerine bakın. Varsayılan ayarların XmlReaderSettings() listesi için oluşturucuya bakın.

Güvenlik konuları

sınıfını XmlReaderSettings kullanırken aşağıdakileri göz önünde bulundurun.

  • Bir ProcessInlineSchema nesnenin ProcessSchemaLocation ve XmlReaderSettings doğrulama bayrakları varsayılan olarak ayarlanmaz. Bu bayraklar ayarlandığında, XmlResolver nesnesi, XmlReaderSettings öğesindeki örnek belgede XmlReader karşılaşılan şema konumlarını çözümlemek için kullanılır. XmlResolver nesnesi null ise, ProcessInlineSchema ve ProcessSchemaLocation doğrulama bayrakları ayarlansa bile şema konumları çözümlenmez.

  • Doğrulama sırasında eklenen şemalar yeni türler ekler ve doğrulanan belgenin doğrulama sonucunu değiştirebilir. Sonuç olarak dış şemalar yalnızca güvenilir kaynaklardan çözümlenmelidir.

  • Doğrulama hata iletileri hassas içerik modeli bilgilerini açığa çıkarabilir. Doğrulama hatası ve uyarı iletileri, ValidationEventHandler temsilcisi kullanılarak işlenir veya XmlSchemaValidationException nesnesine hiçbir olay işleyicisi sağlanmadığında XmlReaderSettings olarak sunulur (doğrulama uyarıları bir XmlSchemaValidationException istisnasının fırlatılmasına neden olmaz). Bu içerik modeli bilgileri güvenilmeyen senaryolarda gösterilmemelidir. Doğrulama uyarı iletileri varsayılan olarak gizlenmiştir ve ReportValidationWarnings bayrağı ayarlanarak raporlanabilir.

  • SourceUri özelliği, XmlSchemaValidationException istisnanın sebebi olan şema dosyasının URI yolunu döndürür. SourceUri özelliği güvenilmeyen senaryolarda kullanıma sunulmamalıdır.

  • ProcessIdentityConstraints bayrağının devre dışı bırakılması (varsayılan olarak etkindir), kimlik kısıtlamaları olan bir şemaya karşı, belgenin büyük bir bölümü üzerinde yüksek kullanılabilirlik senaryolarında, güvenilmeyen ve büyük XML belgeleri doğrulanırken önerilir.

  • XmlReaderSettings nesneleri, kullanıcı kimlik bilgileri gibi hassas bilgiler içerebilir. Nesneleri önbelleğe alırken XmlReaderSettings veya nesneyi bir bileşenden diğerine geçirirken XmlReaderSettings dikkatli olmanız gerekir.

  • DTD işleme varsayılan olarak devre dışıdır. DTD işlemeyi etkinleştirirseniz, güvenilmeyen kaynaklardan gelen DTD'leri dahil etme konusunda dikkatli olmanız ve olası hizmet reddi saldırılarına karşı uyanık olmanız gerekir. öğesinin erişebileceği kaynakları kısıtlamak ThrowingResolver için kullanınXmlReader.

  • Güvenilmeyen bir kaynaktan , NameTableve XmlNamespaceManager nesneleri gibi XmlResolverdestekleyici bileşenleri kabul etmeyin.

  • kullanan XmlReader bir uygulamanın bellek kullanımı, ayrıştırılmış XML belgesinin boyutuyla bağıntıya sahip olabilir. Hizmet reddi saldırısının bir biçimi, ayrıştırmak üzere aşırı büyük XML belgelerinin gönderilmesidir. Özelliği ayarlayarak MaxCharactersInDocument ayrıştırılabilir belgenin boyutunu sınırlayabilir ve ardından özelliği ayarlayarak MaxCharactersFromEntities varlıkların genişletilmesiyle sonuçlanan karakter sayısını sınırlayabilirsiniz.

Oluşturucular

Name Description
XmlReaderSettings()

XmlReaderSettings sınıfının yeni bir örneğini başlatır.

XmlReaderSettings(XmlResolver)
Geçersiz.

XmlReaderSettings sınıfının yeni bir örneğini başlatır.

Özellikler

Name Description
Async

Belirli XmlReader bir örnekte zaman uyumsuz yöntemlerin XmlReader kullanılıp kullanılamayacağını alır veya ayarlar.

CheckCharacters

Karakter denetimi yapılıp yapılmayacağını belirten bir değer alır veya ayarlar.

CloseInput

Temel alınan akışın mı yoksa okuyucu kapatıldığında mı kapatılması gerektiğini belirten bir değer alır veya TextReader ayarlar.

ConformanceLevel

Uyumlu olacağı uyumluluk XmlReader düzeyini alır veya ayarlar.

DtdProcessing

DTD'lerin işlenmesini belirleyen bir değer alır veya ayarlar.

IgnoreComments

Açıklamaların yoksayılıp yoksayılmayacağını belirten bir değer alır veya ayarlar.

IgnoreProcessingInstructions

İşleme yönergelerinin yoksayılıp yoksayılmayacağını belirten bir değer alır veya ayarlar.

IgnoreWhitespace

Önemsiz boşluk yoksayılıp yoksayılmayacağını belirten bir değer alır veya ayarlar.

LineNumberOffset

Nesnenin satır numarası uzaklığını XmlReader alır veya ayarlar.

LinePositionOffset

Nesnenin satır konumu uzaklığını XmlReader alır veya ayarlar.

MaxCharactersFromEntities

Belgedeki en fazla izin verilen karakter sayısını gösteren ve varlıkların genişletilmesinden kaynaklanan bir değer alır veya ayarlar.

MaxCharactersInDocument

XML belgesinde izin verilen en fazla karakter sayısını belirten bir değer alır veya ayarlar. Sıfır (0) değeri, XML belgesinin boyutu üzerinde sınır olmadığı anlamına gelir. Sıfır olmayan bir değer, karakter cinsinden en büyük boyutu belirtir.

NameTable

Atomize dize karşılaştırmaları için kullanılan öğesini XmlNameTable alır veya ayarlar.

ProhibitDtd
Geçersiz.
Geçersiz.

Belge türü tanımının (DTD) işlenmesinin yasaklanıp yasaklanmayacağını belirten bir değer alır veya ayarlar. Bu özellik kullanımdan kaldırıldı. Bunun yerine DtdProcessing kullanın.

Schemas

Şema doğrulaması gerçekleştirirken kullanılacak öğesini alır veya ayarlar XmlSchemaSet .

ValidationFlags

Şema doğrulama ayarlarını gösteren bir değer alır veya ayarlar. Bu ayar şemaları doğrulayan nesneler için XmlReader geçerlidir (ValidationType özellik olarak ValidationType.Schemaayarlanır).

ValidationType

değerinin okurken doğrulama mı yoksa tür ataması XmlReader mı gerçekleştireceğini belirten bir değer alır veya ayarlar.

XmlResolver

Dış belgelere erişmek için kullanılan öğesini XmlResolver ayarlar.

Yöntemler

Name Description
Clone()

Örneğin bir kopyasını XmlReaderSettings oluşturur.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Geçerli örneğin Type alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectbasit bir kopyasını oluşturur.

(Devralındığı yer: Object)
Reset()

Ayarlar sınıfının üyelerini varsayılan değerlerine sıfırlar.

ToString()

Geçerli nesneyi temsil eden bir dize döndürür.

(Devralındığı yer: Object)

Ekinlikler

Name Description
ValidationEventHandler

Okuyucu doğrulama hatalarıyla karşılaştığında oluşur.

Şunlara uygulanır

Ayrıca bkz.