in

Cómo leer un archivo XML en Java

Leer un archivo XML en Java es muy diferente de leer otros archivos como .docx y .txt porque el archivo XML contiene datos entre las etiquetas. Java proporciona muchas formas de analizar un archivo XML. Hay dos analizadores en Java que analizan un archivo XML:

  • Java DOM Analizador
  • Java SAXÓFONO Analizador

Analizador DOM de Java

los API DOM proporciona las clases para leer y escribir un archivo XML. Podemos crear, eliminar, modificar y reorganizar el nodo utilizando la API DOM. El analizador DOM analiza todo el archivo XML y crea un DOM objeto en la memoria. Modela un archivo XML en un estructura de árbol para facilitar el recorrido y la manipulación. En DOM, todo en un archivo XML es un nodo. El nodo representa un componente de un archivo XML. El analizador DOM es lento en proceso y ocupa mucha memoria cuando carga un archivo XML en la memoria.

Debemos haber seguido el proceso para leer un archivo XML en Java:

  • Crear una instancia del archivo XML: El analizador DOM carga el archivo XML en la memoria y considera cada etiqueta como un elemento.
  • Obtener el nodo raíz: La clase de documento proporciona getDocumentElement () método para obtener el nodo raíz y el elemento del archivo XML.
  • Obtenga todos los nodos: los getElementByTagName () El método recupera todo el nombre de etiqueta específico del archivo XML. Dónde ELEMENT_NODE tipo se refiere a un nodo que no es de texto y que tiene subelementos. Si necesitamos acceder a todos los nodos desde el principio, incluido el nodo raíz, podemos llamar de forma recursiva al método getChildElement ().
  • Obtener nodo por valor de texto: Nosotros podemos usar getElementByTextValue () método para buscar un nodo por su valor.
  • Obtener nodo por valor de atributo: Si queremos buscar un nodo por el valor de un atributo específico, podemos usar el método getElementByTagName () junto con el método getAttribute ().

Pasos para leer un archivo XML en Java usando eclipse

Paso 1: Crea un simple Java proyecto.

Paso 2: Cree un archivo de clase y proporcione un nombre de archivo de clase. Hemos creado el archivo de clase con el nombre ReadXMLFileExample1.

Paso 3: Escribe el siguiente código.

Paso 4: Descargar dom-2.3.0-jaxb-1.0.6.jar expediente: Haga clic aquí…

Paso 5: Crear un lib carpeta en el proyecto.

Paso 6: Dupdo dom-2.3.0-jaxb-1.0.6.jar y péguelo en la carpeta lib.

Paso 7: Selecciona el ruta de clases:

Haga clic derecho en el proyecto-> Ruta de compilación-> Configurar ruta de compilación-> Agregar JAR externos-> Seleccione el archivo JAR-> haga clic en el botón Abrir-> Aplicar y cerrar.

Paso 8: Crear un XML expediente. Hemos creado un archivo XML con nombre XMLFile.xml y escriba los siguientes datos en él.

Paso 9: Ejecute el proyecto.

Creando archivo XML: XMLFile.xml

Ejemplo de lectura de un archivo XML usando DOM Parser

Producción:

Root element: class

Node Name: student
Student id: 101
First Name: Naman
Last Name: Kumar
Subject: Math
Marks: 83

Node Name: student
Student id: 102
First Name: Kapil
Last Name: Kumar
Subject: Chemistry
Marks: 60

Node Name: student
Student id: 103
First Name: Harsh
Last Name: Singh
Subject: English
Marks: 70

Node Name: student
Student id: 104
First Name: Jitesh
Last Name: Singh
Subject: Physics
Marks: 76

Veamos otro ejemplo de lectura de un archivo xml.

Ejemplo de lectura de un archivo XML usando DOM Parser

El siguiente ejemplo lee el mismo archivo XML XMLFile.xml, y mostrando cómo hacer un bucle en el nodo uno por uno. Imprime el valor del nodo, el nombre y el atributo si lo hay.

Ejemplo

Producción:

Root element: class

Node Name =class [OPEN]
Node Content =
	
		101
		Naman
		Kumar
		Maths
		83
	
		102
		Kapil
		Kumar
		Chemistry
		60
	
		103
		Harsh
		Singh
		English
		70
	
		104
		Jitesh
		Singh
		Physics
		76
	
Node Name =student [OPEN]
Node Content =
		101
		Naman
		Kumar
		Maths
		83
	
Node Name =id [OPEN]
Node Content =101
Node Name =id [CLOSE]

Node Name =firstname [OPEN]
Node Content =Naman
Node Name =firstname [CLOSE]

Node Name =lastname [OPEN]
Node Content =Kumar
Node Name =lastname [CLOSE]

Node Name =subject [OPEN]
Node Content =Math
Node Name =subject [CLOSE]

Node Name =marks [OPEN]
Node Content =83
Node Name =marks [CLOSE]
Node Name =student [CLOSE]

Node Name =student [OPEN]
Node Content =
		102
		Kapil
		Kumar
		Chemistry
		60
	
Node Name =id [OPEN]
Node Content =102
Node Name =id [CLOSE]

Node Name =firstname [OPEN]
Node Content =Kapil
Node Name =firstname [CLOSE]

Node Name =lastname [OPEN]
Node Content =Kumar
Node Name =lastname [CLOSE]

Node Name =subject [OPEN]
Node Content =Chemistry
Node Name =subject [CLOSE]

Node Name =marks [OPEN]
Node Content =60
Node Name =marks [CLOSE]
Node Name =student [CLOSE]

Node Name =student [OPEN]
Node Content =
		103
		Harsh
		Singh
		English
		70
	
Node Name =id [OPEN]
Node Content =103
Node Name =id [CLOSE]

Node Name =firstname [OPEN]
Node Content =Harsh
Node Name =firstname [CLOSE]

Node Name =lastname [OPEN]
Node Content =Singh
Node Name =lastname [CLOSE]

Node Name =subject [OPEN]
Node Content =English
Node Name =subject [CLOSE]

Node Name =marks [OPEN]
Node Content =70
Node Name =marks [CLOSE]
Node Name =student [CLOSE]

Node Name =student [OPEN]
Node Content =
		104
		Jitesh
		Singh
		Physics
		76
	
Node Name =id [OPEN]
Node Content =104
Node Name =id [CLOSE]

Node Name =firstname [OPEN]
Node Content =Jitesh
Node Name =firstname [CLOSE]

Node Name =lastname [OPEN]
Node Content =Singh
Node Name =lastname [CLOSE]

Node Name =subject [OPEN]
Node Content =Physics
Node Name =subject [CLOSE]

Node Name =marks [OPEN]
Node Content =76
Node Name =marks [CLOSE]
Node Name =student [CLOSE]
Node Name =class [CLOSE]

Analizador Java SAX

Analizador Java SAX son las siglas de API simple por XML. El analizador SAX analiza un archivo XML linea por linea. Activa eventos cuando encuentra la etiqueta de apertura, la etiqueta de cierre y los datos de caracteres en un archivo xml. El analizador SAX también se denomina analizador basado en eventos.

El analizador SAX no carga ningún archivo XML en la memoria. No crea ninguna representación de objeto del documento XML. El analizador SAX utiliza la función de devolución de llamada para informar a los clientes de la estructura del documento XML. Está más rápido y usos menos memoria que el analizador DOM.

SAX es un interfaz de transmisión para XML, lo que significa que el archivo XML se analiza en orden secuencial comenzando en la parte superior del documento y terminando con el cierre del elemento raíz.

Ejemplo de lectura de un archivo XML usando el analizador SAX

Producción:

Start Element: class
Start Element: student
Start Element: id
ID: 101
End Element: id
Start Element: firstname
First Name: Naman
End Element: firstname
Start Element: lastname
Last Name: Kumar
End Element: lastname
Start Element: subject
Subject: Math
End Element: subject
Start Element: marks
Marks: 83
End Element: marks
End Element: student
Start Element: student
Start Element: id
ID: 102
End Element: id
Start Element: firstname
First Name: Kapil
End Element: firstname
Start Element: lastname
Last Name: Kumar
End Element: lastname
Start Element: subject
Subject: Chemistry
End Element: subject
Start Element: marks
Marks: 60
End Element: marks
End Element: student
Start Element: student
Start Element: id
ID: 103
End Element: id
Start Element: firstname
First Name:...

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Propiedad de margen CSS

Método seek () de archivos de Python