【问题标题】:Xerces-C: Parse Javascript inside of HTMLXerces-C:在 HTML 中解析 Javascript
【发布时间】:2011-12-17 11:18:56
【问题描述】:

我想解析网站的元标记。为此,我使用 xerces-c。

shared_ptr<SAX2XMLReader> parser(XMLReaderFactory::createXMLReader());

//Create and set callback handler with the given callback functions
Handler handler(startElement,endElement,characters);
parser->setContentHandler(&handler);
parser->setErrorHandler(&handler);

//Parse the file with the given callback handler
parser->parse(filename.c_str());

一些网站现在有 javascript。在脚本标签内部,javascript 使用运算符 && 表示逻辑与。

Xerces-C 将此解释为实体引用(例如 &nbsp)并抛出异常,因为它不知道实体引用 &&。

有没有办法把它作为文本正确阅读?

或者如果不是 - 有没有办法忽略脚本标签内的所有字符?反正我不需要它们。我只想解析元标记。

【问题讨论】:

  • 用 XML 解析器解析 HTML 是否是个好主意,除非它是 XHTML 吗? Javascript 应该在 CDATA 部分中正确转义,否则我认为您必须先通过 HTML/JS 代码来清理它,然后再通过 Xerces。

标签: c++ html xml xerces xerces-c


【解决方案1】:

基本上,html 不一定是格式良好的xml,但您可以,例如,在输入到 xml 解析器之前使用 tidy 对其进行预处理。

【讨论】:

    猜你喜欢
    • 2011-05-31
    • 1970-01-01
    • 2013-01-13
    • 2010-12-27
    • 2013-03-04
    • 2013-07-22
    • 1970-01-01
    • 2019-04-29
    • 1970-01-01
    相关资源
    最近更新 更多