IXmlPullParser Interfaccia
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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 ( "<foo>Hello World!</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 |
| 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 |
| 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 |
| 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 |
| 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 |
| JavaAs<TResult>(IJavaPeerable) |
Provare a digitare |
| 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 |