SAX解析和特殊字符

SAX解析和特殊字符,第1张

SAX解析和特殊字符

我的猜测是,您将每次调用

characters
视为交付
cat
元素的完整文本。您应该对处理程序进行编码,以便连续调用以
characters
累积文本,并且仅在
endElement
事件发生时捕获它:

public class CatHandler extends DefaultHandler {    private StringBuilder chars = new StringBuilder();    public void startElement(String uri, String lName, String qName, Attributes a)    {        final String name = qName == null ? lName : qName;        if ("cat".equals(name)) { chars.setLength(0);        } else . . .    }    public void endElement(String uri, String lName, String qName) {        final String name = qName == null ? lName : qName;        if ("cat".equals(name)) { String catName = chars.toString(); // do something with cat name        } else . . .    }    public void characters(char[] ch, int start, int length) {        chars.append(ch, start, length);    }


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/zaji/5428383.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-11
下一篇2022-12-11

发表评论

登录后才能评论

评论列表(0条)

    保存