Cómo usar StaX
Hola chicos, por lo que soy nuevo en el mundo del análisis de Java-XML y descubrí que la API de StaX es probablemente mi mejor opción, ya que necesito leer y escribir archivos XML. Bien, tengo un programa muy corto (y debería ser muy simple) que (debería) crear un XMLInputFactory y usarlo para crear un XMLStreamReader. El XMLStreamReader se crea utilizando un FileInputStream adjunto a un archivo XML en el mismo directorio que el archivo de origen. Sin embargo, aunque el FileInputStream se compiló correctamente, el XMLInputFactory no puede acceder a él y sin el FileInputStream no puede crear el XMLStreamReader. ¡Por favor, ayúdenme ya que no tengo idea de qué y estoy frustrado hasta el punto de rendirme!
import javax.xml.stream.*;
import java.io.*;
public class xml {
static String status;
public static void main(String[] args) {
status = "Program has started";
printStatus();
XMLInputFactory inFactory = XMLInputFactory.newInstance();
status = "XMLInputFactory (inFactory) defined"; printStatus();
try { FileInputStream fIS = new FileInputStream("stax.xml"); }
catch (FileNotFoundException na) { System.out.println("FileNotFound"); }
status = "InputStream (fIS) declared"; printStatus();
try { XMLStreamReader xmlReader = inFactory.createXMLStreamReader(fIS); } catch (XMLStreamException xmle) { System.out.println(xmle); }
status = "XMLStreamReader (xmlReader) created by 'inFactory'"; printStatus();
}
public static void printStatus(){ //this is a little code that send notifications when something has been done
System.out.println("Status: " + status);
}
}
También aquí está el archivo XML si lo necesita:
<?xml version="1.0"?>
<dennis>
<hair>brown</hair>
<pants>blue</pants>
<gender>male</gender>
</dennis>