【发布时间】:2012-04-09 09:18:12
【问题描述】:
我一直在尝试从我的 C++ 代码中解析一些 html。我试过 RapidXML、TinyXML 和 Xerces。前两个给了我解析错误(我试图解析的代码已损坏:一些 <> 未关闭),而在我调用 getDocumentRoot() 后 Xerces 返回 null。
当您必须解析损坏的代码时,如何处理这些情况?是否有一些库可以解决这类问题?
【问题讨论】:
-
如果您发布任何相关代码,无论是 c++ 还是 XML,都会有所帮助。
-
或许可以尝试使用 HTML 解析器?
-
如何进行取决于您想要发生的事情。所以 XML 无效。你想怎么解决?您不能指望解析器修复会做出太多假设的问题,因此您需要指定在找到损坏的文档时想要发生的事情。
-
HTML 不是 XML。从来没有,以后也不会。您永远不会得到现成的 XML 解析器来正确解析 HTML。另一方面,XHTML 确实符合 XML 标准,并且可以被任何半体面的 XML 解析器解析。
-
好吧,最后我想解析一个文件,修改一些属性和内容,然后保存到另一个文件中。我刚刚尝试用 htmlcxx 解析它。解析时没有错误,但我无法将其保存回文件中。
标签: c++ xml xml-parsing xerces-c