こんにちは、私は Java-XML 解析の世界にまったく慣れていないので、XML ファイルの読み取りと書き込みの両方が必要なため、StaX API がおそらく最善の策であることがわかりました。さて、XMLInputFactory を作成し、それを使用して XMLStreamReader を作成する (はずの) 非常に短い (そして非常に単純なはずの) プログラムがあります。XMLStreamReader は、ソース ファイルと同じディレクトリ内の XML ファイルに添付された FileInputStream を使用して作成されます。ただし、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>