IXmlPullParser Interfaccia

Definizione

Il parser pull XML è un'interfaccia che definisce la funzionalità di analisi fornita nell'API XMLPULL V1 (visitare questo sito Web per altre informazioni sull'API e sulle relative implementazioni).

[Android.Runtime.Register("org/xmlpull/v1/XmlPullParser", "", "Org.XmlPull.V1.IXmlPullParserInvoker")]
public interface IXmlPullParser : Android.Runtime.IJavaObject, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("org/xmlpull/v1/XmlPullParser", "", "Org.XmlPull.V1.IXmlPullParserInvoker")>]
type IXmlPullParser = interface
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
Derivato
Attributi
Implementazioni

Commenti

Il parser pull XML è un'interfaccia che definisce la funzionalità di analisi fornita nell'API XMLPULL V1 (visitare questo sito Web per altre informazioni sull'API e sulle relative implementazioni).

Esistono diversi tipi di parser a seconda delle caratteristiche impostate: ul<li b non convalida/>b< parser come definito nella specifica XML 1.0 quando FEATURE_PROCESS_DOCDECL è impostato su true ><li>b<convalida parser>/b< come definito nella specifica XML 1.0 quando FEATURE_VALIDATION è true (e ciò implica che FEATURE_PROCESS_DOCDECL è true) ><li><><>quando FEATURE_PROCESS_DOCDECL è false (questo è il valore predefinito e se è necessario un valore diverso deve essere modificato prima dell'avvio dell'analisi), il parser si comporta come il parser non conforme XML 1.0 in condizioni in cui <non>è presente<> alcun valore DOCDECL nei documenti XML (le istanze interne possono ancora essere definite con defineEntityReplacementText()). Questa modalità di operazione è destinata <a b>per l'operazione in ambienti< vincolati/b> , ad esempio J2ME. </ul>

Esistono due metodi chiave: next() e nextToken(). Mentre next() fornisce l'accesso agli eventi di analisi di alto livello, nextToken() consente l'accesso ai token di livello inferiore.

Lo stato dell'evento corrente del parser può essere determinato chiamando il metodo getEventType(). Inizialmente, il parser si trova nello stato START_DOCUMENT.

Il metodo next() sposta il parser all'evento successivo. Il valore int restituito da next determina lo stato del parser corrente ed è identico al valore restituito dalle chiamate seguenti a getEventType ().

I tipi di evento seguenti sono visualizzati da next()<dl><dt>START_TAG<dd> È stato letto un tag di avvio XML. <il contenuto di testo dt>TEXT<dd> è stato letto. È possibile recuperare il contenuto di testo usando il metodo getText(). (quando in modalità di convalida next() non segnala spazi vuoti ignorabili, usare invece nextToken() <dt>END_TAG<dd> Un tag finale è stato letto <dt>END_DOCUMENT<dd> Non sono disponibili <altri eventi /dl>

dopo il primo metodo next() o nextToken() (o qualsiasi altro metodo next*() viene chiamato applicazione utente può ottenere la versione XML, la versione autonoma e la codifica dalla dichiarazione XML nei modi seguenti:<ul><li><b>version</b>: getProperty("http://xmlpull.org/v1/doc/properties.html#xmldecl-version") restituisce String ("1.0") o null se XMLDecl non è stato letto o se la proprietà non è supportata <li><b>standalone</b>: getProperty("http://xmlpull.org/v1/doc/properties.html#xmldecl-standalone") restituisce Boolean: null se non è presente alcuna dichiarazione autonoma o se la proprietà non è supportata in caso contrario restituisce Boolean(true) se standalone="yes" e Boolean(false) quando standalone="no" <li b encoding></b><: ottenuta da getInputEncoding() null se stream aveva codifica sconosciuta (non impostata in setInputStream) e non è stata dichiarata in XMLDecl ></ul>

Un esempio minimo per l'uso di questa API può essere simile al seguente:

import java.io.IOException;
            import java.io.StringReader;

            import org.xmlpull.v1.XmlPullParser;
            import org.xmlpull.v1.<a href="XmlPullParserException.html">XmlPullParserException</a>;
            import org.xmlpull.v1.<a href="XmlPullParserFactory.html">XmlPullParserFactory</a>;

            public class SimpleXmlPullApp
            {

                public static void main (String args[])
                    throws XmlPullParserException, IOException
                {
                    XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
                    factory.setNamespaceAware(true);
                    XmlPullParser xpp = factory.newPullParser();

                    xpp.<a href="#setInput">setInput</a>( new StringReader ( "&lt;foo>Hello World!&lt;/foo>" ) );
                    int eventType = xpp.getEventType();
                    while (eventType != XmlPullParser.END_DOCUMENT) {
                     if(eventType == XmlPullParser.START_DOCUMENT) {
                         System.out.println("Start document");
                     } else if(eventType == XmlPullParser.START_TAG) {
                         System.out.println("Start tag "+xpp.<a href="#getName()">getName()</a>);
                     } else if(eventType == XmlPullParser.END_TAG) {
                         System.out.println("End tag "+xpp.getName());
                     } else if(eventType == XmlPullParser.TEXT) {
                         System.out.println("Text "+xpp.<a href="#getText()">getText()</a>);
                     }
                     eventType = xpp.next();
                    }
                    System.out.println("End document");
                }
            }

L'esempio precedente genererà l'output seguente:

Start document
            Start tag foo
            Text Hello World!
            End tag foo
            End document

Per altre informazioni sull'utilizzo delle API, vedere l'introduzione rapida disponibile all'indirizzo http://www.xmlpull.org

per org.xmlpull.v1.XmlPullParser.

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.

Campi

Nome Descrizione
FeatureProcessDocdecl

Questa funzionalità determina se la dichiarazione del documento viene elaborata.

FeatureProcessNamespaces

Questa funzionalità determina se il parser elabora gli spazi dei nomi.

FeatureReportNamespaceAttributes

Questa funzionalità determina se gli attributi dello spazio dei nomi vengono esposti tramite i metodi di accesso agli attributi.

FeatureValidation

Se questa funzionalità viene attivata, tutti gli errori di convalida definiti nel codice XML 1.

NoNamespace

Questa costante rappresenta lo spazio dei nomi predefinito (stringa vuota "")

Proprietà

Nome Descrizione
AttributeCount

Restituisce il numero di attributi del tag iniziale corrente o -1 se il tipo di evento corrente non è START_TAG

ColumnNumber

Restituisce il numero di colonna corrente. Le implementazioni possono usare basi diverse; XmlReaderPullParser restituisce un numero di colonna in base zero.

Depth

Restituisce la profondità corrente dell'elemento.

EventType

Restituisce il tipo dell'evento corrente (START_TAG, END_TAG, TEXT e così via.

Handle

Ottiene il valore JNI dell'oggetto Android sottostante.

(Ereditato da IJavaObject)
InputEncoding

Restituisce la codifica di input se nota, null in caso contrario.

IsEmptyElementTag

Restituisce true se l'evento corrente è START_TAG e il tag viene degenerato (ad esempio <foobar/>).

IsWhitespace

Controlla se l'evento TEXT corrente contiene solo spazi vuoti.

JniIdentityHashCode

Restituisce il valore di java.lang.System.identityHashCode() per l'istanza di cui è stato eseguito il wrapping.

(Ereditato da IJavaPeerable)
JniManagedPeerState

Stato del peer gestito.

(Ereditato da IJavaPeerable)
JniPeerMembers

Supporto per l'accesso ai membri e la chiamata.

(Ereditato da IJavaPeerable)
LineNumber

Restituisce il numero di riga corrente, a partire da 1.

Name

Per gli eventi START_TAG o END_TAG, il nome (locale) dell'elemento corrente viene restituito quando gli spazi dei nomi sono abilitati.

Namespace

Restituisce l'URI dello spazio dei nomi dell'elemento corrente.

PeerReference

Restituisce un JniObjectReference oggetto dell'istanza dell'oggetto di cui è stato eseguito il wrapping Java.

(Ereditato da IJavaPeerable)
PositionDescription

Restituisce un breve testo che descrive lo stato del parser corrente, inclusa la posizione, una descrizione dell'evento corrente e l'origine dati, se nota.

Prefix

Restituisce il prefisso dell'elemento corrente.

Text

Restituisce il contenuto di testo dell'evento corrente come String.

Types

Questa matrice può essere usata per convertire le costanti integer del tipo di evento, ad esempio START_TAG o TEXT in una stringa.

Metodi

Nome Descrizione
DefineEntityReplacementText(String, String)

Impostare un nuovo valore per il testo di sostituzione dell'entità come definito nella sezione 1.0 XML 4.5 Costruzione del testo di sostituzione entità interna.

Disposed()

Chiamato quando l'istanza è stata eliminata.

(Ereditato da IJavaPeerable)
DisposeUnlessReferenced()

Se non sono presenti riferimenti in sospeso a questa istanza, chiama Dispose(); in caso contrario, non esegue alcuna operazione.

(Ereditato da IJavaPeerable)
Finalized()

Chiamato quando l'istanza è stata finalizzata.

(Ereditato da IJavaPeerable)
GetAttributeName(Int32)

Restituisce il nome locale dell'attributo specificato se gli spazi dei nomi sono abilitati o solo il nome dell'attributo se gli spazi dei nomi sono disabilitati.

GetAttributeNamespace(Int32)

Restituisce l'URI dello spazio dei nomi dell'attributo con l'indice specificato (inizia da 0).

GetAttributePrefix(Int32)

Restituisce il prefisso dell'attributo specificato Restituisce null se l'elemento non dispone di prefisso.

GetAttributeType(Int32)

Restituisce il tipo dell'attributo specificato Se parser non convalida deve restituire CDATA.

GetAttributeValue(Int32)

Restituisce il valore degli attributi specificato.

GetAttributeValue(String, String)

Restituisce il valore degli attributi identificato dall'URI dello spazio dei nomi e dallo spazio dei nomi localName.

GetFeature(String)

Restituisce il valore corrente della caratteristica specificata.

GetNamespace(String)

Restituisce l'URI corrispondente al prefisso specificato, a seconda dello stato corrente del parser.

GetNamespaceCount(Int32)

Restituisce i numeri di elementi nello stack dello spazio dei nomi per la profondità specificata.

GetNamespacePrefix(Int32)

Restituisce il prefisso dello spazio dei nomi per la posizione specificata nello stack dello spazio dei nomi.

GetNamespaceUri(Int32)

Restituisce l'URI dello spazio dei nomi per la posizione specificata nello stack dello spazio dei nomi Se la posizione non è compreso nell'intervallo, viene generata un'eccezione.

GetProperty(String)

Cercare il valore di una proprietà.

GetTextCharacters(Int32[])

Restituisce il buffer che contiene il testo dell'evento corrente, nonché l'offset iniziale e la lunghezza rilevanti per l'evento corrente.

IsAttributeDefault(Int32)

Restituisce se l'attributo specificato non è stato dichiarato in input in XML.

Next()

Ottiene l'evento di analisi successivo: il contenuto dell'elemento verrà fuso e per tutto il contenuto dell'elemento deve essere restituito un solo evento TEXT( i commenti e le istruzioni di elaborazione verranno ignorati e i riferimenti all'entità devono essere espansi o se non è possibile espandere il riferimento all'entità, è necessario generare un'eccezione se non è possibile espandere il riferimento all'entità).

NextTag()

Chiamare next() e restituire l'evento se è START_TAG o END_TAG altrimenti genera un'eccezione.

NextText()

Se l'evento corrente è START_TAG, se l'elemento successivo è TEXT, viene restituito il contenuto dell'elemento o se l'evento successivo è END_TAG viene restituita una stringa vuota, in caso contrario viene generata un'eccezione.

NextToken()

Questo metodo funziona in modo analogo a next(), ma espone altri tipi di evento (COMMENT, CDSECT, DOCDECL, ENTITY_REF, PROCESSING_INSTRUCTION o IGNORABLE_WHITESPACE) se disponibili nell'input.

Require(XmlPullParserNode, String, String)

Verificare se l'evento corrente è del tipo specificato e se lo spazio dei nomi e il nome corrispondono.

SetFeature(String, Boolean)

Usare questa chiamata per modificare il comportamento generale del parser, ad esempio l'elaborazione dello spazio dei nomi o la gestione della dichiarazione doctype.

SetInput(Reader)

Impostare l'origine di input per il parser sul lettore specificato e reimposta il parser.

SetInput(Stream, String)

Imposta il flusso di input che verrà elaborato dal parser.

SetJniIdentityHashCode(Int32)

Impostare il valore restituito da JniIdentityHashCode.

(Ereditato da IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

Il parser pull XML è un'interfaccia che definisce la funzionalità di analisi fornita nell'API XMLPULL V1 (visitare questo sito Web per altre informazioni sull'API e sulle relative implementazioni).

(Ereditato da IJavaPeerable)
SetPeerReference(JniObjectReference)

Impostare il valore restituito da PeerReference.

(Ereditato da IJavaPeerable)
SetProperty(String, Object)

Impostare il valore di una proprietà.

UnregisterFromRuntime()

Annullare la registrazione di questa istanza in modo che il runtime non lo restituisca dalle chiamate future Java.Interop.JniRuntime+JniValueManager.PeekValue .

(Ereditato da IJavaPeerable)

Metodi di estensione

Nome Descrizione
GetJniTypeName(IJavaPeerable)

Ottiene il nome JNI del tipo dell'istanza selfdi .

JavaAs<TResult>(IJavaPeerable)

Provare a digitare selfTResult, verificando che la coercizione sia valida sul lato Java.

JavaCast<TResult>(IJavaObject)

Esegue una conversione del tipo di tipo controllato dal runtime Android.

JavaCast<TResult>(IJavaObject)

Il parser pull XML è un'interfaccia che definisce la funzionalità di analisi fornita nell'API XMLPULL V1 (visitare questo sito Web per altre informazioni sull'API e sulle relative implementazioni).

NextAsync(IXmlPullParser)

Il parser pull XML è un'interfaccia che definisce la funzionalità di analisi fornita nell'API XMLPULL V1 (visitare questo sito Web per altre informazioni sull'API e sulle relative implementazioni).

NextTagAsync(IXmlPullParser)

Il parser pull XML è un'interfaccia che definisce la funzionalità di analisi fornita nell'API XMLPULL V1 (visitare questo sito Web per altre informazioni sull'API e sulle relative implementazioni).

NextTextAsync(IXmlPullParser)

Il parser pull XML è un'interfaccia che definisce la funzionalità di analisi fornita nell'API XMLPULL V1 (visitare questo sito Web per altre informazioni sull'API e sulle relative implementazioni).

NextTokenAsync(IXmlPullParser)

Il parser pull XML è un'interfaccia che definisce la funzionalità di analisi fornita nell'API XMLPULL V1 (visitare questo sito Web per altre informazioni sull'API e sulle relative implementazioni).

TryJavaCast<TResult>(IJavaPeerable, TResult)

Provare a digitare selfTResult, verificando che la coercizione sia valida sul lato Java.

Si applica a