0

XMLStreamReaderXML ファイルを読み取って特定の要素を探し、対応する値を更新するために使用しています。

私の質問は、次のようなドキュメントの開始を含む各要素を印刷できる方法があるということです:

<?xml version="1.0" encoding="UTF-8"?>

私がするたびにreader.next()

例えば:

XMLStreamReader reader = inputFactory.createXMLStreamReader(new FileInputStream(
                file));
while(reader.hasNext())
reader.next().ToString() //Something like this?
...
4

1 に答える 1

2

私はあなたが何を求めているのか少し混乱しています。

印刷するには、イベント<?xml version="1.0" encoding="UTF-8"?>を処理する必要があります。START_DOCUMENTこの状態に対して、次のメソッドを呼び出すことができます。

next(), getEncoding(), getVersion(), isStandalone(), standaloneSet(), getCharacterEncodingScheme(), nextTag()

next()呼び出しを行うたびに以前に読み取られた要素の名前を出力するには、次のようにします。

XMLStreamReader reader = inputFactory.createXMLStreamReader(new FileInputStream(
                   file));
String currentElement = "";
while(reader.hasNext()) {
   int next = reader.next();

   ..
   if(next == XMLStreamReader.START_ELEMENT){
        currentElement = reader.getLocalName();
   ..

   System.out.println(currentElement );
}

または、XMLファイルからすべてのデータを印刷するだけの場合は、それに応じて各イベントを処理する必要があります。

XMLStreamReader reader = inputFactory.createXMLStreamReader(new FileInputStream(
                file));
while(reader.hasNext()) {
   int next = reader.next();

   ..
   if(next == XMLStreamReader.START_ELEMENT){
        System.out.println(reader.getLocalName());
   }
   else if(next == XMLStreamReader.ATTRIBUTE) {
        // Print out all the attributes
   }
   else if(next == XMLStreamReader.COMMENT) {
        // Print the comment
   }
   ..

}

イベントの完全なリストについては、ドキュメントを参照してください。

于 2012-07-16T21:17:50.740 に答える