Программисты JAVA общаются здесь
Гость
Понимание XMLStreamReader и START_DOCUMENT
Сообщение
Гость » 13 мар 2024, 19:01
Рассмотрим следующий XML-файл:
Почему я не получаю событие START_DOCUMENT при использовании XMLStreamReader. Код (взято из):
Код: Выделить всё
% cat Demo.java
import java.io.FileReader;
import javax.xml.stream.*;
public class Demo {
public static void main(String[] args) throws Exception {
XMLInputFactory factory = XMLInputFactory.newInstance();
XMLStreamReader sr = factory.createXMLStreamReader(new FileReader("test.xml"));
System.out.println(sr.getClass());
while (sr.hasNext()) {
int eventType = sr.next();
if (eventType == XMLStreamReader.START_DOCUMENT) {
System.out.println("Start Document" );
} else if (eventType == XMLStreamReader.END_DOCUMENT) {
System.out.println("End Document" );
} else if (eventType == XMLStreamReader.END_ELEMENT) {
System.out.println("End Element: " + sr.getLocalName());
} else if (eventType == XMLStreamReader.START_ELEMENT) {
System.out.println("Start Element: " + sr.getLocalName());
}
}
}
}
Вывод на моей стороне:
Код: Выделить всё
% javac Demo.java
% java Demo test.xml
class com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl
Start Element: root
End Element: root
End Document
Ссылка:
Код: Выделить всё
% java --version
openjdk 11.0.14 2022-01-18
OpenJDK Runtime Environment (build 11.0.14+9-post-Debian-1deb11u1)
OpenJDK 64-Bit Server VM (build 11.0.14+9-post-Debian-1deb11u1, mixed mode, sharing)
Источник:
https://stackoverflow.com/questions/713 ... t-document
1710345701
Гость
Рассмотрим следующий XML-файл:[code]% cat test.xml [/code] Почему я не получаю событие START_DOCUMENT при использовании XMLStreamReader. Код (взято из): [code]% cat Demo.java import java.io.FileReader; import javax.xml.stream.*; public class Demo { public static void main(String[] args) throws Exception { XMLInputFactory factory = XMLInputFactory.newInstance(); XMLStreamReader sr = factory.createXMLStreamReader(new FileReader("test.xml")); System.out.println(sr.getClass()); while (sr.hasNext()) { int eventType = sr.next(); if (eventType == XMLStreamReader.START_DOCUMENT) { System.out.println("Start Document" ); } else if (eventType == XMLStreamReader.END_DOCUMENT) { System.out.println("End Document" ); } else if (eventType == XMLStreamReader.END_ELEMENT) { System.out.println("End Element: " + sr.getLocalName()); } else if (eventType == XMLStreamReader.START_ELEMENT) { System.out.println("Start Element: " + sr.getLocalName()); } } } } [/code] Вывод на моей стороне: [code]% javac Demo.java % java Demo test.xml class com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl Start Element: root End Element: root End Document [/code] Ссылка: [code]% java --version openjdk 11.0.14 2022-01-18 OpenJDK Runtime Environment (build 11.0.14+9-post-Debian-1deb11u1) OpenJDK 64-Bit Server VM (build 11.0.14+9-post-Debian-1deb11u1, mixed mode, sharing) [/code] Источник: [url]https://stackoverflow.com/questions/71383169/understanding-xmlstreamreader-and-start-document[/url]