Langage

IXmlPullParser Interface

Définition

Xml Pull Parser est une interface qui définit les fonctionnalités d’analyse fournies dans l’API XMLPULL V1 (visitez ce site web pour en savoir plus sur l’API et ses implémentations).

[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
Dérivé
Attributs
Implémente

Remarques

Xml Pull Parser est une interface qui définit les fonctionnalités d’analyse fournies dans l’API XMLPULL V1 (visitez ce site web pour en savoir plus sur l’API et ses implémentations).

Il existe différents types d’analyseurs suivants en fonction des caractéristiques définies :<ul><li b><>non validateing</b> parser tel que défini dans la spécification XML 1.0 lorsque FEATURE_PROCESS_DOCDECL est défini sur true <li b><validateing parser>/b< tel que défini dans la spécification XML 1.0 lorsque FEATURE_VALIDATION a la valeur true (et cela implique que FEATURE_PROCESS_DOCDECL est vrai) >li<>lorsque FEATURE_PROCESS_DOCDECL a la valeur false (il s’agit d’une valeur par défaut et si une valeur différente est nécessaire doit être modifiée avant le démarrage de l’analyse), l’analyseur se comporte comme xml 1.0 conforme à l’analyseur non validant sous condition qu’aucun <>DOCDECL n’est présent</em> dans les documents XML (les entites internes peuvent toujours être définis avec defineEntityReplacementText()). Ce mode d’opération est destiné <à être>utilisé dans des environnements contraints</b> tels que J2ME. </ul>

Il existe deux méthodes clés : next() et nextToken(). Tandis que next() fournit l’accès aux événements d’analyse de haut niveau, nextToken() autorise l’accès aux jetons de niveau inférieur.

L’état d’événement actuel de l’analyseur peut être déterminé en appelant la méthode getEventType(). Initialement, l’analyseur est dans l’état START_DOCUMENT.

La méthode next() avance l’analyseur vers l’événement suivant. La valeur int retournée par la suite détermine l’état de l’analyseur actuel et est identique à la valeur retournée par les appels suivants à getEventType ().

Les types d’événements suivants sont vus par next()<dl><dt>START_TAG<balise de> début XML lue. <dt>TEXT dd< Text>content was read ; the text content can be retrieved using the getText(). (lors de la validation du mode suivant() ne signale pas d’espace blanc ignorable, utilisez nextToken() à la place) <dt>END_TAG<dd> Une balise de fin a été lue <dt>END_DOCUMENT<dd> Aucun autre événement n’est disponible </dl>

une fois que la première méthode next() ou nextToken() (ou toute autre méthode next*() est appelée application utilisateur peut obtenir une version XML, une version autonome et un encodage à partir de la déclaration XML de la manière suivante :<ul><li><b>version</b> : getProperty("http://xmlpull.org/v1/doc/properties.html#xmldecl-version") renvoie la chaîne (« 1.0 ») ou null si XMLDecl n’a pas été lu ou si la propriété n’est pas prise en charge <li><b>autonome</b> : getProperty( »http://xmlpull.org/v1/doc/properties.html#xmldecl-standalone") renvoie booléen : null s’il n’y a pas de déclaration autonome ou si la propriété n’est pas prise en charge sinon retourne Boolean(true) si standalone="yes » et Boolean(false) quand standalone="no » li b encoding</b>< : obtenu à partir de getInputEncoding() null si le flux avait un encodage inconnu (non défini dans setInputStream) et qu’il n’a pas été déclaré dans XMLDecl ></ul><>

Un exemple minimal d’utilisation de cette API peut se présenter comme suit :

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’exemple ci-dessus génère la sortie suivante :

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

Pour plus d’informations sur l’utilisation de l’API, reportez-vous à la présentation rapide disponible à l’adresse http://www.xmlpull.org

Java documentation pour org.xmlpull.v1.XmlPullParser.

Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.

Champs

Nom Description
FeatureProcessDocdecl

Cette fonctionnalité détermine si la déclaration de document est traitée.

FeatureProcessNamespaces

Cette fonctionnalité détermine si l’analyseur traite les espaces de noms.

FeatureReportNamespaceAttributes

Cette fonctionnalité détermine si les attributs d’espace de noms sont exposés via les méthodes d’accès aux attributs.

FeatureValidation

Si cette fonctionnalité est activée, toutes les erreurs de validation définies dans le code XML 1 sont activées.

NoNamespace

Cette constante représente l’espace de noms par défaut (chaîne vide «  »)

Propriétés

Nom Description
AttributeCount

Retourne le nombre d’attributs de la balise de début actuelle ou -1 si le type d’événement actuel n’est pas START_TAG

ColumnNumber

Retourne le numéro de colonne actuel. Les implémentations peuvent utiliser différentes bases ; XmlReaderPullParser retourne un numéro de colonne de base zéro.

Depth

Retourne la profondeur actuelle de l’élément.

EventType

Retourne le type de l’événement actuel (START_TAG, END_TAG, TEXT, etc.

Handle

Obtient la valeur JNI de l’objet Android sous-jacent.

(Hérité de IJavaObject)
InputEncoding

Retourne l’encodage d’entrée s’il est connu, null sinon.

IsEmptyElementTag

Retourne true si l’événement actuel est START_TAG et que la balise est dégénérée (par exemple <, foobar/>).

IsWhitespace

Vérifie si l’événement TEXT actuel contient uniquement des caractères d’espace blanc.

JniIdentityHashCode

Retourne la valeur de java.lang.System.identityHashCode() l’instance encapsulée.

(Hérité de IJavaPeerable)
JniManagedPeerState

État de l’homologue managé.

(Hérité de IJavaPeerable)
JniObjectReferenceControlBlock

Xml Pull Parser est une interface qui définit les fonctionnalités d’analyse fournies dans l’API XMLPULL V1 (visitez ce site web pour en savoir plus sur l’API et ses implémentations).

(Hérité de IJavaPeerable)
JniPeerMembers

Prise en charge de l’accès aux membres et de l’appel.

(Hérité de IJavaPeerable)
LineNumber

Retourne le numéro de ligne actuel, à partir de 1.

Name

Pour les événements START_TAG ou END_TAG, le nom (local) de l’élément actuel est retourné lorsque les espaces de noms sont activés.

Namespace

Retourne l’URI d’espace de noms de l’élément actuel.

PeerReference

Retourne une JniObjectReference instance d’objet Java encapsulée.

(Hérité de IJavaPeerable)
PositionDescription

Retourne un texte court décrivant l’état actuel de l’analyseur, y compris la position, une description de l’événement actuel et la source de données si elle est connue.

Prefix

Retourne le préfixe de l’élément actuel.

Text

Retourne le contenu du texte de l’événement actuel sous forme de chaîne.

Types

Ce tableau peut être utilisé pour convertir les constantes entières de type d’événement telles que START_TAG ou TEXT en chaîne.

Méthodes

Nom Description
DefineEntityReplacementText(String, String)

Définissez une nouvelle valeur pour le texte de remplacement d’entité tel que défini dans la section XML 1.0 Section 4.5 Construction du texte de remplacement d’entité interne.

Disposed()

Appelé lorsque l’instance a été supprimée.

(Hérité de IJavaPeerable)
DisposeUnlessReferenced()

S’il n’existe aucune référence en suspens à cette instance, les appels Dispose(); sinon, ne fait rien.

(Hérité de IJavaPeerable)
Finalized()

Appelé lorsque l’instance a été finalisée.

(Hérité de IJavaPeerable)
GetAttributeName(Int32)

Retourne le nom local de l’attribut spécifié si les espaces de noms sont activés ou simplement le nom de l’attribut si les espaces de noms sont désactivés.

GetAttributeNamespace(Int32)

Retourne l’URI d’espace de noms de l’attribut avec l’index donné (commence à partir de 0).

GetAttributePrefix(Int32)

Retourne le préfixe de l’attribut spécifié Renvoie null si l’élément n’a pas de préfixe.

GetAttributeType(Int32)

Retourne le type de l’attribut spécifié Si l’analyseur n’est pas validé, il DOIT retourner CDATA.

GetAttributeValue(Int32)

Retourne la valeur des attributs donnés.

GetAttributeValue(String, String)

Retourne la valeur des attributs identifiés par l’URI d’espace de noms et l’espace de noms localName.

GetFeature(String)

Retourne la valeur actuelle de la fonctionnalité donnée.

GetNamespace(String)

Retourne l’URI correspondant au préfixe donné, en fonction de l’état actuel de l’analyseur.

GetNamespaceCount(Int32)

Retourne le nombre d’éléments dans la pile d’espaces de noms pour la profondeur donnée.

GetNamespacePrefix(Int32)

Retourne le préfixe d’espace de noms pour la position donnée dans la pile d’espaces de noms.

GetNamespaceUri(Int32)

Retourne l’URI de l’espace de noms pour la position donnée dans la pile d’espaces de noms Si la position est hors plage, une exception est levée.

GetProperty(String)

Recherchez la valeur d’une propriété.

GetTextCharacters(Int32[])

Retourne la mémoire tampon qui contient le texte de l’événement actuel, ainsi que le décalage de début et la longueur pertinents pour l’événement actuel.

IsAttributeDefault(Int32)

Retourne si l’attribut spécifié n’était pas dans l’entrée a été déclaré en XML.

Next()

Obtenir l’événement d’analyse suivant : le contenu de l’élément sera regroupé et un seul événement TEXT doit être retourné pour tout le contenu de l’élément (les commentaires et les instructions de traitement seront ignorés et les références d’entité doivent être développées ou l’exception doit être levée si la référence d’entité ne peut pas être développée).

NextTag()

Appelez next() et renvoyez l’événement s’il est START_TAG ou END_TAG sinon lever une exception.

NextText()

Si l’événement actuel est START_TAG, si l’élément suivant est TEXT, le contenu de l’élément est retourné ou si l’événement suivant est END_TAG alors la chaîne vide est retournée, sinon l’exception est levée.

NextToken()

Cette méthode fonctionne de la même façon que next(), mais expose des types d’événements supplémentaires (COMMENT, CDSECT, DOCDECL, ENTITY_REF, PROCESSING_INSTRUCTION ou IGNORABLE_WHITESPACE) s’ils sont disponibles en entrée.

Require(XmlPullParserNode, String, String)

Testez si l’événement actuel est du type donné et si l’espace de noms et le nom correspondent.

SetFeature(String, Boolean)

Utilisez cet appel pour modifier le comportement général de l’analyseur, tel que le traitement de l’espace de noms ou la gestion des déclarations doctype.

SetInput(Reader)

Définissez la source d’entrée pour l’analyseur sur le lecteur donné et réinitialise l’analyseur.

SetInput(Stream, String)

Définit le flux d’entrée que l’analyseur va traiter.

SetJniIdentityHashCode(Int32)

Définissez la valeur retournée par JniIdentityHashCode.

(Hérité de IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

Xml Pull Parser est une interface qui définit les fonctionnalités d’analyse fournies dans l’API XMLPULL V1 (visitez ce site web pour en savoir plus sur l’API et ses implémentations).

(Hérité de IJavaPeerable)
SetPeerReference(JniObjectReference)

Définissez la valeur retournée par PeerReference.

(Hérité de IJavaPeerable)
SetProperty(String, Object)

Définissez la valeur d’une propriété.

UnregisterFromRuntime()

Annulez l’inscription de cette instance afin que le runtime ne le retourne pas à partir d’appels futurs Java.Interop.JniRuntime+JniValueManager.PeekValue .

(Hérité de IJavaPeerable)

Méthodes d’extension

Nom Description
GetJniTypeName(IJavaPeerable)

Obtient le nom JNI du type de l’instance self.

JavaAs<TResult>(IJavaPeerable)

Essayez de forcer self le typeTResult, en vérifiant que le forçage est valide côté Java.

JavaCast<TResult>(IJavaObject)

Effectue une conversion de type vérifiée par le runtime Android.

JavaCast<TResult>(IJavaObject)

Xml Pull Parser est une interface qui définit les fonctionnalités d’analyse fournies dans l’API XMLPULL V1 (visitez ce site web pour en savoir plus sur l’API et ses implémentations).

NextAsync(IXmlPullParser)

Xml Pull Parser est une interface qui définit les fonctionnalités d’analyse fournies dans l’API XMLPULL V1 (visitez ce site web pour en savoir plus sur l’API et ses implémentations).

NextTagAsync(IXmlPullParser)

Xml Pull Parser est une interface qui définit les fonctionnalités d’analyse fournies dans l’API XMLPULL V1 (visitez ce site web pour en savoir plus sur l’API et ses implémentations).

NextTextAsync(IXmlPullParser)

Xml Pull Parser est une interface qui définit les fonctionnalités d’analyse fournies dans l’API XMLPULL V1 (visitez ce site web pour en savoir plus sur l’API et ses implémentations).

NextTokenAsync(IXmlPullParser)

Xml Pull Parser est une interface qui définit les fonctionnalités d’analyse fournies dans l’API XMLPULL V1 (visitez ce site web pour en savoir plus sur l’API et ses implémentations).

TryJavaCast<TResult>(IJavaPeerable, TResult)

Essayez de forcer self le typeTResult, en vérifiant que le forçage est valide côté Java.

S’applique à