Как использовать StaX
Привет, ребята, так что я новичок в мире синтаксического анализа Java-XML и обнаружил, что StaX API - это, вероятно, моя лучшая ставка, так как мне нужно и читать, и писать файлы XML. Итак, у меня есть очень короткая (и должна быть очень простая) программа, которая (должна) создать XMLInputFactory и использовать ее для создания XMLStreamReader. XMLStreamReader создается с использованием FileInputStream, прикрепленного к XML-файлу в том же каталоге, что и исходный файл. Однако даже если FileInputStream скомпилирован правильно, XMLInputFactory не может получить к нему доступ, а без FileInputStream он не может создать XMLStreamReader. Пожалуйста, помогите, поскольку я понятия не имею, что и разочарован до такой степени, чтобы сдаться!
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);
}
}
также вот файл XML, если вам это нужно:
<?xml version="1.0"?>
<dennis>
<hair>brown</hair>
<pants>blue</pants>
<gender>male</gender>
</dennis>