summaryrefslogtreecommitdiffstats
path: root/addon/xmlparse/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'addon/xmlparse/main.cpp')
-rw-r--r--addon/xmlparse/main.cpp54
1 files changed, 54 insertions, 0 deletions
diff --git a/addon/xmlparse/main.cpp b/addon/xmlparse/main.cpp
new file mode 100644
index 0000000..82cc849
--- /dev/null
+++ b/addon/xmlparse/main.cpp
@@ -0,0 +1,54 @@
+#include "mainhandler.h"
+
+#include <qstring.h>
+#include <qxml.h>
+#include <qfile.h>
+#include <qdict.h>
+#include <qlist.h>
+
+class ErrorHandler : public QXmlErrorHandler
+{
+ public:
+ virtual ~ErrorHandler() {}
+ bool warning( const QXmlParseException & )
+ {
+ return FALSE;
+ }
+ bool error( const QXmlParseException & )
+ {
+ return FALSE;
+ }
+ bool fatalError( const QXmlParseException &exception )
+ {
+ fprintf(stderr,"Fatal error at line %d column %d: %s\n",
+ exception.lineNumber(),exception.columnNumber(),
+ exception.message().data());
+ return FALSE;
+ }
+ QString errorString() { return ""; }
+
+ private:
+ QString errorMsg;
+};
+
+
+int main(int argc,char **argv)
+{
+ if (argc==1)
+ {
+ printf("Usage: %s file.xml\n",argv[0]);
+ exit(1);
+ }
+
+ QFile xmlFile(argv[1]);
+ MainHandler handler;
+ ErrorHandler errorHandler;
+ QXmlInputSource source( xmlFile );
+ QXmlSimpleReader reader;
+ reader.setContentHandler( &handler );
+ reader.setErrorHandler( &errorHandler );
+ reader.parse( source );
+
+ return 0;
+}
+