gpt4 book ai didi

java - 用于打印的 XMLStreamReader

转载 作者:行者123 更新时间:2023-12-02 07:41:37 35 4
gpt4 key购买 nike

我正在使用 XMLStreamReader 读取 XML 文件并查找特定元素,然后更新相应的值。

我的问题是有没有办法可以打印每个元素,包括文档的开头,例如:

<?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?
...

最佳答案

我对你的问题有点困惑。

打印 <?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
}
..

}

有关事件的完整列表,请参阅 documentation .

关于java - 用于打印的 XMLStreamReader,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11512344/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com