gpt4 book ai didi

JAVA SAX DefaultHandler startCDATA() 未触发

转载 作者:行者123 更新时间:2023-11-30 06:35:22 26 4
gpt4 key购买 nike

我正在尝试解析和检测标签中 CDATA 的开始,例如:

<child><![CDATA[data goes here]]></child>

我有一个扩展默认处理程序的类

class MyXmlDoc extends DefaultHandler{

使用 startElement() 的方法和 endElement()正确触发但startCDATA()从不开火。我的characters()方法获取“数据到这里”,因此似乎检测到了 CDATA“包装器”,但是???

感谢您的任何见解!

最佳答案

CDATA 是一个词法事件。常规处理程序(内容处理程序、错误处理程序)不处理这些事件。你需要为你的阅读器设置一个词法处理程序,如果它支持的话。词法处理程序是 SAX2 扩展,因此 Java XMLReader 使用 setProperty 方法来设置它。

参见:http://download.oracle.com/javase/6/docs/api/org/xml/sax/XMLReader.html#setProperty%28java.lang.String,%20java.lang.Object%29http://download.oracle.com/javase/6/docs/api/org/xml/sax/ext/LexicalHandler.html

关于JAVA SAX DefaultHandler startCDATA() 未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6147682/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com