Cómo leer el XML de aplicaciones para Android
¿Cómo analizar cargar el XML en la aplicación para Android?
Creo que muchos de ustedes están pensando que la aplicación en la aplicación Android, que, de hacer algo para analizar el archivo XML.
Por ejemplo, si eso, y desea utilizar la API de servicios Web, XML es una técnica fundamental para el análisis.
(Con una API de servicios Web es lo que nos proporciona Rakuten, Amazon, etc, tales como la contratación, y muchas empresas, esta es su descripción se omite).
Por lo tanto, voy a presentar el procedimiento para la lectura de XML en Android, para el análisis, que he hecho.
En primer lugar, deje que la importación de los siguientes dos clases.
importar org.xmlpull.v1.XmlPullParser;
importar android.util.Xml;
Pero creo que si cuando se utiliza la API de servicios Web, y tomar el camino mediante la importación de un archivo XML en la comunicación HTTP, que, para obtener una instancia InputStream, en la descripción de este momento, estamos leyendo la instancia InputStream el archivo XML ya Voy a suponer que.
En la siguiente manera: 1, para obtener la instancia XmlPullParser..
XmlPullParser XmlPullParser Xml.newPullParser = ();
XmlPullParser, por favor, piense de clase y proporciona la capacidad para que la gente ve a leer los siguientes elementos del XML.
En la siguiente manera: 2, para establecer el archivo XML InputStream se ha cargado en la XmlPullParser..
xmlPullParser.setInput (es decir, "UTF-8");
※ es el primer argumento es la instancia argumento InputStream segundo, por favor especificar la codificación del archivo XML.
Bueno, listo para ir a analizar este XML ya está listo.
A lo largo del resto que quiere hacer, pero ve a leer, aquí, vamos a ser llamado, esperamos que se lea como sigue.
• En el desde el principio hasta el final del archivo XML, para obtener una lista de (valor) valor de la etiqueta con su nombre.
"Y el valor de la etiqueta con su nombre" es parte de la siguiente xxx.
NOMBRE xxx </ name>
En primer lugar, echemos un vistazo a el código de ejemplo.
String [] = new String [] ();
int contador = 0;
for (int e = xmlPullParser.getEventType ();! e = XmlPullParser.END_DOCUMENT; e = xmlPullParser.next ()) {
if (e == XmlPullParser.START_TAG xmlPullParser.getName && (). equals ("nombre")) {
un [contador] = xmlPullParser.nextText ();
contador + +
}
}
¿No han escrito sólo un mínimo de código, se parece a esto.
xmlPullParser es, yo es que no tienen todos los elementos, o uno por línea, vamos a leer uno por uno para con mucho cuidado, y XML.
Si la etiqueta de inicio, valor, etiqueta de cierre, si se utiliza cualquiera de los () es un mecanismo de ir en la etiqueta de inicio y fin ⇒ ⇒ valor de la etiqueta XmlPullParser.next.
Esto puede hacerse por cualquiera conveniente o inconveniente, la cual yo.
La primera vez que me quedé perplejo.
Si nos fijamos en el bucle para, y es el valor inicial () xmlPullParser.getEventType.
En este punto, xmlPullParser sólo porque se establece el InputStream, el valor de () se ha convertido en el "START_DOCUMENT" significa el inicio getEventType.
El fin de la condición del bucle es, hasta que el "END_DOCUMENT" significa la última.
El grado del ciclo, y pasar a ejecutar a continuación el botón () XmlPullParser.next.
Loop se llama.
Puede ser una consecuencia de ello, se dice, se lee desde el principio hasta el final del archivo XML.
La siguiente es una descripción de la parte interior del bucle.
Las condiciones de la instrucción descrito en términos de si.
En pocas palabras, esto significa que "si se trata de la etiqueta de inicio de la etiqueta con su nombre".
Yo quiero, sino como un "valor" que están encerrados en etiquetas inicial y final del nombre, en su propio "valor" que se ha convertido en la corriente de xmlPullParser es decir, el valor se toma, la etiqueta por lo que es el primer lugar es lo que se había rodeado de, no tomo. (GetName. () El valor de retorno se convierte en nulo)
Por lo tanto, cuando la etiqueta de inicio de la etiqueta con su nombre se convirtió en el actual, que toma una cadena de los siguientes elementos, en una sentencia si, utilice el botón () nextText.
Este es el método llamado para recuperar el siguiente elemento como una cadena.
Hay otra manera, por lo que, un buen ejemplo es lo que lo anterior no significa necesariamente comprender.
He estado haciendo más o menos como se ha descrito anteriormente.
Dicho sea de paso, la forma de valor, sino por el contrario, tener los atributos de la etiqueta, a continuación, por lo que aquí se presenta.
Por ejemplo, vamos a decir algo así como que en el mismo que el anterior, a su vez, que, tener una lista del atributo id del nombre de la etiqueta.
"Y el atributo id del nombre de la etiqueta" es parte de la yyy siguiente.
<nombre id=yyy> xxx </ name>
para los bucles, si las declaraciones, por lo que el mismo, sólo el contenido de la declaración tomada si.
Haga lo siguiente.
un [contador] = xmlPullParser.getAttributeValue (null, "nombre");
Si usted recibe los atributos, utilice el botón () GetAttributeValue como se describió anteriormente.
El primer argumento especifica un "nombre" el nombre del atributo es nulo, el segundo argumento.
De acuerdo con la documentación de la API, por lo que es el "nombre" El primer argumento, el segundo argumento es atributo "name".
Estoy escribiendo un espacio de nombres si no es inerte, el primer argumento es, ¿y no es nula, esto tiene un valor nulo.
Acerca de "espacio de nombres XML", yo simplemente no tengo los detalles, aquí está su descripción no es así.
No, no puede ser. (Risas)
GetAttributeValue (), como el uso de una, sino que también proporciona un patrón con otro argumento de tipo int.
Dado que se trata de especificar el índice, si este caso para reemplazar si atribuir lo que la primera,
un [contador] = xmlPullParser.getAttributeValue (0);
Será.
A medida que el subíndice de la matriz, se especifica un valor que se obtiene restando 1 del número real.
Y, si aún único método introducido anteriormente, puede obtenerse en el análisis de XML API de servicios Web.











