我正在使用libxml2解析 HTML:static htmlSAXHandler simpleSAXHandlerStruct = {
NULL,/* internalSubset */
NULL,/* isStandalone */
NULL,/* hasInternalSubset */
NULL,/* hasExternalSubset */
NULL,/* resolveEntity */
NULL,/* getEntity */
NULL,/* entityDecl */
NULL,/* notationDecl */
NULL,/* attributeDecl */
NULL,/* elementDecl */
NULL,/* unparsedEntityDecl */
NULL,/* setDocumentLocator */
NULL,/* startDocument */
NULL,/* endDocument */
NULL,/* startElement*/
NULL,/* endElement */
NULL,/* reference */
charactersFoundSAX,/* characters */
NULL,/* ignorableWhitespace */
NULL,/* processingInstruction */
NULL,/* comment */
NULL,/* warning */
errorEncounteredSAX,/* error */
NULL,/* fatalError//: unused error() get all the errors */
NULL,/* getParameterEntity */
NULL,/* cdataBlock */
NULL,/* externalSubset */
XML_SAX2_MAGIC,//
NULL,
startElementSAXP,/* startElementNs */
endElementSAXP,/* endElementNs */
NULL,/* serror */
};
调用 charactersFoundSAX 和 errorEncounteredSAX 函数,但是 startElementSAXP 和 endElementSAXP 函数永远不会被调用。
如果我改变了从HTML和解析XML的解析,而不是( 并更改所有定义,包括’HTML’到”。比如 到 xmlSAXHandler ),函数就会正确地调用。
为什么会这样?
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/204176.html原文链接:https://javaforall.net
