XMLInputFactory factory = XMLInputFactory.newInstance();
Reader fileReader = new FileReader(xmlFileName);
XMLEventReader reader = factory.createXMLEventReader(fileReader);
while (reader.hasNext()) {
XMLEvent event = reader.nextEvent();
if (event.isStartElement()) {
StartElement element = (StartElement) event;
//process start element
}
if (event.isEndElement()) {
currentParent = (DefaultMutableTreeNode)(currentParent.getParent());
//process end element
}
if (event.isCharacters()) {
Characters characters = (Characters) event;
String text = characters.getData();
if(text.startsWith("\n") || text.startsWith("\r\n") || text.startsWith("\r")) {
continue;
}
//process characters element
}
Моя проблема с приведенным выше кодом заключается в том, что при обработке файла XML новые строки обрабатываются как символьные узлы, я надеялся, что есть определенный флаг, чтобы игнорировать новые строки. Пожалуйста, дайте мне знать, если это возможно.