IXmlPullParser Interfaz
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
El analizador de extracción XML es una interfaz que define la funcionalidad de análisis proporcionada en la API XMLPULL V1 (visite este sitio web para obtener más información sobre la API y sus implementaciones).
[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
- Derivado
- Atributos
- Implementaciones
Comentarios
El analizador de extracción XML es una interfaz que define la funcionalidad de análisis proporcionada en la API XMLPULL V1 (visite este sitio web para obtener más información sobre la API y sus implementaciones).
Hay siguientes tipos diferentes de analizador en función de qué características se establecen:ul<li b no validating>/b< analizador tal como se define en la especificación XML 1.0 cuando FEATURE_PROCESS_DOCDECL se establece en true ><li>b<validando parser>/b< tal y como se define en la especificación XML 1.0 cuando FEATURE_VALIDATION es true (y eso implica que FEATURE_PROCESS_DOCDECL es true) ><li><><>cuando FEATURE_PROCESS_DOCDECL es false (este es el valor predeterminado y si es necesario cambiar un valor diferente antes de iniciar el análisis), el analizador se comporta como XML 1.0 conforme a la condición de que <>no haya docDECL presente</em> en documentos XML (las tetas internas todavía se pueden definir con defineEntityReplacementText()). Este modo de operación está pensado <>para la operación en entornos restringidos</b>, como J2ME. </ul>
Hay dos métodos clave: next() y nextToken(). Aunque next() proporciona acceso a eventos de análisis de alto nivel, nextToken() permite el acceso a tokens de nivel inferior.
El estado de evento actual del analizador se puede determinar llamando al método getEventType(). Inicialmente, el analizador está en estado START_DOCUMENT.
El método next() hace avanzar el analizador al siguiente evento. El valor int devuelto desde next determina el estado del analizador actual y es idéntico al valor devuelto de las siguientes llamadas a getEventType ().
Th following event types are seen by next()<dl><dt>START_TAG<dd> An XML start tag was read. <dt>TEXT<dd> Texto contenido se leyó; el contenido de texto se puede recuperar mediante el método getText(). (cuando esté en modo de validación next() no notificará espacios en blanco ignorables, use nextToken() en su lugar) <dt>END_TAG dd< Se leyó >una etiqueta final dt<END_DOCUMENT>dd< No hay más eventos disponibles >/dl<>
después de la primera siguiente() o nextToken() (o cualquier otro método next*() se denomina aplicación de usuario puede obtener la versión XML, independiente y codificación de la declaración XML de las siguientes maneras:<ul><li><b>version</b>: getProperty("http://xmlpull.org/v1/doc/properties.html#xmldecl-version") devuelve String ("1.0") o null si XMLDecl no se leyó o si la propiedad no se admite <li><b>independiente</b>: getProperty("http://xmlpull.org/v1/doc/properties.html#xmldecl-standalone") devuelve Boolean: null si no había ninguna declaración independiente o si la propiedad no se admite devuelve boolean(true) si standalone="sí" y Boolean(false) cuando standalone="no" <li><b>encoding</b>: obtenido de getInputEncoding() null si stream tenía codificación desconocida (no establecida en setInputStream) y no se declaró en XMLDecl </ul>
Un ejemplo mínimo para usar esta API puede ser el siguiente:
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");
}
}
En el ejemplo anterior se generará la siguiente salida:
Start document
Start tag foo
Text Hello World!
End tag foo
End document
Para más información sobre el uso de la API, consulte la introducción rápida disponible en . http://www.xmlpull.org
Java documentación para org.xmlpull.v1.XmlPullParser.
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.
Campos
| Nombre | Description |
|---|---|
| FeatureProcessDocdecl |
Esta característica determina si se procesa la declaración de documento. |
| FeatureProcessNamespaces |
Esta característica determina si el analizador procesa espacios de nombres. |
| FeatureReportNamespaceAttributes |
Esta característica determina si los atributos de espacio de nombres se exponen a través de los métodos de acceso a atributos. |
| FeatureValidation |
Si se activa esta característica, todos los errores de validación definidos en el XML 1. |
| NoNamespace |
Esta constante representa el espacio de nombres predeterminado (cadena vacía "") |
Propiedades
| Nombre | Description |
|---|---|
| AttributeCount |
Devuelve el número de atributos de la etiqueta de inicio actual o -1 si el tipo de evento actual no es START_TAG |
| ColumnNumber |
Devuelve el número de columna actual. Las implementaciones pueden usar bases diferentes; XmlReaderPullParser devuelve un número de columna de base cero. |
| Depth |
Devuelve la profundidad actual del elemento. |
| EventType |
Devuelve el tipo del evento actual (START_TAG, END_TAG, TEXT, etc. |
| Handle |
Obtiene el valor JNI del objeto Android subyacente. (Heredado de IJavaObject) |
| InputEncoding |
Devuelve la codificación de entrada si se conoce, null de lo contrario. |
| IsEmptyElementTag |
Devuelve true si el evento actual es START_TAG y la etiqueta se degenera (por ejemplo, <foobar/>). |
| IsWhitespace |
Comprueba si el evento TEXT actual contiene solo caracteres de espacio en blanco. |
| JniIdentityHashCode |
Devuelve el valor de |
| JniManagedPeerState |
Estado del mismo nivel administrado. (Heredado de IJavaPeerable) |
| JniPeerMembers |
Compatibilidad con la invocación y el acceso de miembros. (Heredado de IJavaPeerable) |
| LineNumber |
Devuelve el número de línea actual, a partir de 1. |
| Name |
Para eventos START_TAG o END_TAG, se devuelve el nombre (local) del elemento actual cuando se habilitan los espacios de nombres. |
| Namespace |
Devuelve el URI del espacio de nombres del elemento actual. |
| PeerReference |
Devuelve un JniObjectReference de la instancia de objeto Java ajustada. (Heredado de IJavaPeerable) |
| PositionDescription |
Devuelve un texto corto que describe el estado actual del analizador, incluida la posición, una descripción del evento actual y el origen de datos si se conoce. |
| Prefix |
Devuelve el prefijo del elemento actual. |
| Text |
Devuelve el contenido de texto del evento actual como String. |
| Types |
Esta matriz se puede usar para convertir las constantes de tipo de evento entero, como START_TAG o TEXT en una cadena. |
Métodos
| Nombre | Description |
|---|---|
| DefineEntityReplacementText(String, String) |
Establezca un nuevo valor para el texto de reemplazo de entidades tal como se define en XML 1.0 Sección 4.5 Construcción del texto de reemplazo de entidad interna. |
| Disposed() |
Se llama cuando se ha eliminado la instancia. (Heredado de IJavaPeerable) |
| DisposeUnlessReferenced() |
Si no hay referencias pendientes a esta instancia, llama a |
| Finalized() |
Se llama cuando se ha finalizado la instancia. (Heredado de IJavaPeerable) |
| GetAttributeName(Int32) |
Devuelve el nombre local del atributo especificado si los espacios de nombres están habilitados o simplemente el nombre del atributo si los espacios de nombres están deshabilitados. |
| GetAttributeNamespace(Int32) |
Devuelve el URI del espacio de nombres del atributo con el índice especificado (comienza desde 0). |
| GetAttributePrefix(Int32) |
Devuelve el prefijo del atributo especificado Devuelve null si el elemento no tiene ningún prefijo. |
| GetAttributeType(Int32) |
Devuelve el tipo del atributo especificado Si el analizador no es válido, DEBE devolver CDATA. |
| GetAttributeValue(Int32) |
Devuelve el valor de atributos especificado. |
| GetAttributeValue(String, String) |
Devuelve el valor de atributos identificado por el URI del espacio de nombres y el nombre localName del espacio de nombres. |
| GetFeature(String) |
Devuelve el valor actual de la característica especificada. |
| GetNamespace(String) |
Devuelve el URI correspondiente al prefijo especificado, en función del estado actual del analizador. |
| GetNamespaceCount(Int32) |
Devuelve los números de elementos de la pila de espacios de nombres para la profundidad especificada. |
| GetNamespacePrefix(Int32) |
Devuelve el prefijo de espacio de nombres para la posición especificada en la pila del espacio de nombres. |
| GetNamespaceUri(Int32) |
Devuelve el URI del espacio de nombres para la posición especificada en la pila del espacio de nombres Si la posición está fuera del intervalo, se produce una excepción. |
| GetProperty(String) |
Busque el valor de una propiedad. |
| GetTextCharacters(Int32[]) |
Devuelve el búfer que contiene el texto del evento actual, así como el desplazamiento inicial y la longitud pertinentes para el evento actual. |
| IsAttributeDefault(Int32) |
Devuelve si el atributo especificado no estaba en la entrada se declaró en XML. |
| Next() |
Obtener el siguiente evento de análisis: el contenido del elemento se fusionará y solo se debe devolver un evento TEXT para todo el contenido del elemento (los comentarios y las instrucciones de procesamiento se omitirán y se deben expandir las referencias de entidad o se debe producir una excepción si no se puede expandir la referencia de entidad). |
| NextTag() |
Llame al evento next() y devuelva si se START_TAG o END_TAG, de lo contrario, produce una excepción. |
| NextText() |
Si el evento actual es START_TAG, si el siguiente elemento es TEXT, se devuelve el contenido del elemento o, si el evento siguiente es END_TAG, se devuelve una cadena vacía; de lo contrario, se produce una excepción. |
| NextToken() |
Este método funciona de forma similar a next(), pero expondrá tipos de eventos adicionales (COMMENT, CDSECT, DOCDECL, ENTITY_REF, PROCESSING_INSTRUCTION o IGNORABLE_WHITESPACE) si están disponibles en la entrada. |
| Require(XmlPullParserNode, String, String) |
Pruebe si el evento actual es del tipo especificado y si el espacio de nombres y el nombre coinciden. |
| SetFeature(String, Boolean) |
Use esta llamada para cambiar el comportamiento general del analizador, como el procesamiento de espacios de nombres o el control de declaraciones de tipo doctype. |
| SetInput(Reader) |
Establezca el origen de entrada para el analizador en el lector especificado y restablezca el analizador. |
| SetInput(Stream, String) |
Establece el flujo de entrada que va a procesar el analizador. |
| SetJniIdentityHashCode(Int32) |
Establezca el valor devuelto por |
| SetJniManagedPeerState(JniManagedPeerStates) |
El analizador de extracción XML es una interfaz que define la funcionalidad de análisis proporcionada en la API XMLPULL V1 (visite este sitio web para obtener más información sobre la API y sus implementaciones). (Heredado de IJavaPeerable) |
| SetPeerReference(JniObjectReference) |
Establezca el valor devuelto por |
| SetProperty(String, Object) |
Establezca el valor de una propiedad. |
| UnregisterFromRuntime() |
Anule el registro de esta instancia para que el entorno de ejecución no lo devuelva de invocaciones futuras Java.Interop.JniRuntime+JniValueManager.PeekValue . (Heredado de IJavaPeerable) |
Métodos de extensión
| Nombre | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Obtiene el nombre JNI del tipo de la instancia |
| JavaAs<TResult>(IJavaPeerable) |
Intente coerción |
| JavaCast<TResult>(IJavaObject) |
Realiza una conversión de tipos comprobados en tiempo de ejecución de Android. |
| JavaCast<TResult>(IJavaObject) |
El analizador de extracción XML es una interfaz que define la funcionalidad de análisis proporcionada en la API XMLPULL V1 (visite este sitio web para obtener más información sobre la API y sus implementaciones). |
| NextAsync(IXmlPullParser) |
El analizador de extracción XML es una interfaz que define la funcionalidad de análisis proporcionada en la API XMLPULL V1 (visite este sitio web para obtener más información sobre la API y sus implementaciones). |
| NextTagAsync(IXmlPullParser) |
El analizador de extracción XML es una interfaz que define la funcionalidad de análisis proporcionada en la API XMLPULL V1 (visite este sitio web para obtener más información sobre la API y sus implementaciones). |
| NextTextAsync(IXmlPullParser) |
El analizador de extracción XML es una interfaz que define la funcionalidad de análisis proporcionada en la API XMLPULL V1 (visite este sitio web para obtener más información sobre la API y sus implementaciones). |
| NextTokenAsync(IXmlPullParser) |
El analizador de extracción XML es una interfaz que define la funcionalidad de análisis proporcionada en la API XMLPULL V1 (visite este sitio web para obtener más información sobre la API y sus implementaciones). |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Intente coerción |