Java 要打印的XMLStreamReader
我正在使用Java 要打印的XMLStreamReader,java,xml,Java,Xml,我正在使用XMLStreamReader读取XML文件并查找特定元素,然后更新相应的值 我的问题是,是否有一种方法可以打印每个元素,包括文档的开头,例如: <?xml version="1.0" encoding="UTF-8"?> 我有点不明白你在问什么 要打印,您必须处理开始\u文档事件。可以为此状态调用以下方法: next(), getEncoding(), getVersion(), isStandalone(), standaloneSet(), getCharacter
XMLStreamReader
读取XML文件并查找特定元素,然后更新相应的值
我的问题是,是否有一种方法可以打印每个元素,包括文档的开头,例如:
<?xml version="1.0" encoding="UTF-8"?>
我有点不明白你在问什么 要打印
,您必须处理开始\u文档
事件。可以为此状态调用以下方法:
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
}
..
}
有关事件的完整列表,请参考。next()
返回一个整数:“与当前解析事件对应的整数代码”。
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
}
..
}