IContentHandler.Characters(Char[], Int32, Int32) Methode

Definition

Empfangen einer Benachrichtigung über Zeichendaten.

[Android.Runtime.Register("characters", "([CII)V", "GetCharacters_arrayCIIHandler:Org.Xml.Sax.IContentHandlerInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")]
public void Characters(char[]? ch, int start, int length);
[<Android.Runtime.Register("characters", "([CII)V", "GetCharacters_arrayCIIHandler:Org.Xml.Sax.IContentHandlerInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")>]
abstract member Characters : char[] * int * int -> unit

Parameter

ch
Char[]

die Zeichen aus dem XML-Dokument

start
Int32

die Startposition im Array

length
Int32

Die Anzahl der Zeichen, die aus dem Array gelesen werden sollen

Attribute

Ausnahmen

alle SAX-Ausnahme, möglicherweise eine andere Ausnahme umschließen

Hinweise

Empfangen einer Benachrichtigung über Zeichendaten.

Der Parser ruft diese Methode auf, um jeden Datenabschnitt von Zeichen zu melden. SAX-Parser können alle zusammenhängenden Zeichendaten in einem einzelnen Abschnitt zurückgeben, oder sie können sie in mehrere Blöcke aufteilen; Allerdings müssen alle Zeichen in jedem einzelnen Ereignis aus derselben externen Entität stammen, damit der Locator nützliche Informationen bereitstellt.

Die Anwendung darf nicht versuchen, aus dem Array außerhalb des angegebenen Bereichs zu lesen.

Einzelne Zeichen können aus mehr als einem Java char Wert bestehen. Es gibt zwei wichtige Fälle, in denen dies geschieht, da Zeichen nicht in nur sechzehn Bits dargestellt werden können. In einem Fall werden Zeichen in einem <surrogate>Pair</em> mit zwei speziellen Unicode-Werten dargestellt. Solche Zeichen befinden sich in den sogenannten "Astralebenen" mit einem Codepunkt über U+FFFF. Ein zweiter Fall umfasst zusammengesetzte Zeichen, z. B. ein Basiszeichen, das mit einem oder mehreren Akzentzeichen kombiniert wird.

Ihr Code sollte nicht davon ausgehen, dass Algorithmen, chardie "-at-a-time-idiome" verwenden, in Zeicheneinheiten funktionieren. In einigen Fällen werden Zeichen aufgeteilt. Dies ist unabhängig davon relevant, wo XML beliebige Zeichen zulässt, z. B. Attributwerte, Verarbeitungsanweisungsdaten und Kommentare sowie daten, die von dieser Methode gemeldet werden. Es ist auch allgemein relevant, wenn Java Code internationalisierten Text bearbeitet; das Problem ist nicht eindeutig für XML.

Beachten Sie, dass einige Parser Leerzeichen in Elementinhalten mithilfe der #ignorableWhitespace ignorableWhitespace Methode statt dieser melden (die Überprüfung der Parser <em>muss</em> dies tun).

Java Dokumentation für org.xml.sax.ContentHandler.characters(char[], int, int).

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für:

Weitere Informationen

  • <xref:Org.Xml.Sax.IContentHandler.IgnorableWhitespace(System.Char%5b%5d%2c+System.Int32%2c+System.Int32)>
  • ILocator