libxml2reader.h 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. #ifndef LIBXML2READER_H
  2. #define LIBXML2READER_H
  3. /////////////////////////////////////////////////////////////////////////////
  4. //
  5. // Append into project file:
  6. // INCLUDEPATH += /usr/include/libxml2
  7. // LIBS += -lxml2
  8. //
  9. // http://blog.sjinks.pro/c-cpp/qt/942-html-parser-qt/
  10. //
  11. //
  12. // QByteArray data;
  13. // QXmlInputSource src;
  14. // LibXml2Reader reader;
  15. // QDomDocument doc;
  16. // src.setData(data);
  17. // doc.setContent(&src, &reader);
  18. //
  19. /////////////////////////////////////////////////////////////////////////////
  20. #include <QtXml/QXmlReader>
  21. #include <libxml/xmlstring.h>
  22. class LibXml2ReaderPrivate;
  23. class LibXml2Reader : public QXmlReader {
  24. public:
  25. LibXml2Reader(void);
  26. virtual ~LibXml2Reader(void);
  27. virtual bool feature(const QString& name, bool* ok = 0) const;
  28. virtual void setFeature(const QString& name, bool value);
  29. virtual bool hasFeature(const QString& name) const;
  30. virtual void* property(const QString& name, bool* ok = 0) const;
  31. virtual void setProperty(const QString& name, void* value);
  32. virtual bool hasProperty(const QString& name) const;
  33. virtual void setEntityResolver(QXmlEntityResolver* handler);
  34. virtual QXmlEntityResolver* entityResolver(void) const;
  35. virtual void setDTDHandler(QXmlDTDHandler* handler);
  36. virtual QXmlDTDHandler* DTDHandler(void) const;
  37. virtual void setContentHandler(QXmlContentHandler* handler);
  38. virtual QXmlContentHandler* contentHandler(void) const;
  39. virtual void setErrorHandler(QXmlErrorHandler* handler);
  40. virtual QXmlErrorHandler* errorHandler(void) const;
  41. virtual void setLexicalHandler(QXmlLexicalHandler* handler);
  42. virtual QXmlLexicalHandler* lexicalHandler(void) const;
  43. virtual void setDeclHandler(QXmlDeclHandler* handler);
  44. virtual QXmlDeclHandler* declHandler(void) const;
  45. virtual bool parse(const QXmlInputSource& input);
  46. virtual bool parse(const QXmlInputSource* input);
  47. private:
  48. Q_DISABLE_COPY(LibXml2Reader)
  49. Q_DECLARE_PRIVATE(LibXml2Reader)
  50. QScopedPointer<LibXml2ReaderPrivate> d_ptr;
  51. friend class LibXml2ReaderLocator;
  52. };
  53. #endif // LIBXML2READER_H