Aracılığıyla paylaş


XmlReader.ReadValueChunk(Char[], Int32, Int32) Yöntem

Tanım

XML belgesine eklenmiş büyük metin akışlarını okur.

public:
 virtual int ReadValueChunk(cli::array <char> ^ buffer, int index, int count);
public virtual int ReadValueChunk(char[] buffer, int index, int count);
abstract member ReadValueChunk : char[] * int * int -> int
override this.ReadValueChunk : char[] * int * int -> int
Public Overridable Function ReadValueChunk (buffer As Char(), index As Integer, count As Integer) As Integer

Parametreler

buffer
Char[]

Metin içeriğinin yazıldığı arabellek görevi görecek karakter dizisi. Bu değer olamaz null.

index
Int32

Arabelleğin XmlReader içindeki uzaklık, sonuçları kopyalamaya başlayabilir.

count
Int32

Arabelleğe kopyalanacak en fazla karakter sayısı. Kopyalanan gerçek karakter sayısı bu yöntemden döndürülür.

Döndürülenler

Arabelleğe okunan karakter sayısı. Sıfır değeri, artık metin içeriği olmadığında döndürülür.

Özel durumlar

Geçerli düğümün değeri yok (HasValue olan false).

-veya-

Önceki XmlReader bir zaman uyumsuz işlem tamamlanmadan önce bir yöntem çağrıldı. Bu durumda, InvalidOperationException "Zaman uyumsuz bir işlem zaten devam ediyor" iletisiyle oluşturulur.

buffer değeri null.

Arabelleğe dizin veya dizin + sayısı ayrılan arabellek boyutundan daha büyüktür.

Uygulama XmlReader bu yöntemi desteklemiyor.

XML verileri iyi biçimlendirilmemiş.

Açıklamalar

Bu yöntem, bir XML belgesine eklenmiş çok büyük metin akışlarının akış biçiminde okunmasını sağlar; yani, değerin tamamı için tek bir dize ayırma yerine aynı anda az sayıda karakter. Bu yöntem değeri (HasValue is true) olan herhangi bir düğümde çağrılabilir, ancak düğüm değerinin gerçek akışı yalnızca metin, boşluk ve önemli boşluk düğümlerinde çağrıldığında gerçekleşir. Öznitelikler ve CDATA düğümleri de dahil olmak üzere diğer düğüm türü değerleri önbelleğe alınır.

Bu yöntem yalnızca özelliğinin Value içeriğini döndürür ve öğesini XmlReadertaşımaz.

Bu yöntem, düğüm değerinin belirtilen karakter sayısını (count) belirtilen uzaklıkta () bir karakter arabelleğine (bufferindex) okur ve arabelleğe yazılan karakter sayısını döndürür. Değerin 0 sonuna ulaştığında değerini döndürür. Değeri yeniden okumak için yeniden başlatılamaz.

Özelliklere ReadValueChunk yapılan çağrılar XmlReader arasında özellik dışında Value hiçbir değişiklik yapmaz. Value Özelliğe erişildiğinde kısmi bir değer (henüz döndürülmeyen ReadValueChunkkarakterlerle) veya uygulamaya bağlı olarak tam bir değer döndürebilir. XmlReader Ad alanı içindeki System.Xml tüm uygulamalar, özellik uygulaması için Value kısmi bir değer döndürür.

herhangi bir Read yöntemi çağrısı arasında ReadValueChunkçağrılabilir. Bu durum oluşursa, XmlReader akıştaki bir sonrakine XmlNodeType taşır ve henüz döndürülmeyen karakterler atlanır.

İstenen karakter sayısından daha az döndürdüğünde ReadValueChunk bir durum olabilir. Örneğin, 127 ve 128 konumlarında vekil çifti olan 200 karakter uzunluğunda bir değeriniz varsa ve 128 karakterlik arabellekle çağırdıysanız ReadValueChunk , yöntem çağrısı istenen 128 yerine 127 karakter döndürür. Ardından vekil çifti bir sonraki ReadValueChunk çağrıda döndürülür. Bu durumda, ReadValueChunk istenen 128 karakter döndürülmedi çünkü bunu yapmak arabelleğinde tamamlanmamış vekil çifte yol açabilirdi.

Bu yöntemin zaman uyumsuz sürümü için bkz ReadValueChunkAsync. .

Şunlara uygulanır