SAX解析器换行符

时间:2012-04-14 04:51:32

标签: java saxparser

知道我在这里做错了什么。

这是xml文件

<text xml:space="preserve">{{Redirect|Anarchist|the fictional character|Anarchist (comics)}}
{{Redirect|Anarchists}}
{{Anarchism sidebar}}
{{Libertarianism sidebar}}
</text>

现在当我在SAX解析器的帮助下解析它时,例如这是我的字符方法

public void characters (char ch[], int start, int length) throws SAXException{

    System.out.println(text);
    if (text){
        System.out.println(testData); //testData is StringBuilder
        if (testData != null){
            for (int j=start; j < (start + length); j++){
                testData.append(ch[j]);
            }
        }                           
    }
    text = false
}

这是我的startElement方法

public void startElement(String uri, String localname, String qName, Attributes attributes) throws SAXException {
    if (qName.equalsIgnoreCase("text")) {
        text = true;
    }
}

但我的角色功能只调用一次。我认为它会被调用几次,然后我可以附加

1 个答案:

答案 0 :(得分:0)

“ignore whitespace”标志控制XML解析器是否认为XML元素之间的空格是重要的,还是应该忽略它。只要你没有ignoreWhitespace集,解析器就可以非常正确地将所有字符(空格或非空格)输入到你的characters()方法中。