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ören karakter dizisi. Bu değer olamaz null.

index
Int32

arabellek XmlReader içinde, sonuçları kopyalamaya başlayabileceğiniz uzaklık.

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, metin içeriği olmadığında döndürülür.

Özel durumlar

Geçerli düğümün değeri yok (HasValue değeridir 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 olur.

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

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ırmak 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 özelliği dışında Value hiçbir değişiklik yapmaz. Value Özelliğe erişildiğinde kısmi bir değer (henüz tarafından ReadValueChunkdöndürülmeyen karakterlerle) 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 durumda, XmlReader akışta sonrakine XmlNodeType geçer 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 arabelleğe sahip olarak çağırdıysanız ReadValueChunk , yöntem çağrısı istenen 128 yerine 127 karakter döndürür. Bundan sonra 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 eksik bir vekil çifte neden olacaktı.

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

Şunlara uygulanır