java - SAX 解析器换行符

标签 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;
    }
}

但是我的字符函数只被调用一次。我以为它会被调用几次,然后我可以附加

最佳答案

“忽略空白”标志控制 XML 解析器是否认为 XML 元素之间的空白很重要,或者是否应该忽略它。只要您没有设置ignoreWhitespace,解析器就可以正确地将所有字符(无论是否为空格)提供给您的characters() 方法。

关于java - SAX 解析器换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10151118/

相关文章:

java - 求取模结果的正确方法

java - Maven 构建 War 文件包含错误

java - 比较和排序字符串 Java

java - 解析 xml : attributes. getValue() 返回 null?

java - 不支持的 major.minor 版本 52.0 错误

java - 如何从java中的折线图中获取值?

java - 使用 sax 解析 xml 响应

Android - 为什么 SaxParser 可以处理本地 XML 文件,但不能处理 URL 上的 XML?

java - 使用 javax.xml.validation.Validator : cannot resolve types come from 2nd XSD 针对 XSD 进行 XML 验证

java - 特定数据的 SAXParser 失败