在java中解析XML文件解析新行问题

时间:2010-01-18 09:10:41

标签: java xml

    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 个答案:

答案 0 :(得分:2)

根据the specification,必须保留空格,除非另有说明:

  

XML处理器必须始终将文档中未标记的所有字符传递给应用程序。

答案 1 :(得分:2)

尝试阅读this question以获取有关如何做的一些指示。