Синтаксический анализ XML-файла в java - PullRequest
0 голосов
/ 18 января 2010
    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 новые строки обрабатываются как символьные узлы, я надеялся, что есть определенный флаг, чтобы игнорировать новые строки. Пожалуйста, дайте мне знать, если это возможно.

Ответы [ 2 ]

2 голосов
/ 18 января 2010

Попробуйте прочитать этот вопрос , чтобы узнать, что делать.

2 голосов
/ 18 января 2010

Согласно спецификация пробелы должны быть сохранены, если не указано иное:

Процессор XML ДОЛЖЕН всегда передавать приложению все символы в документе, которые не являются разметкой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...