📄 xml-tagreader-tagreader-cpp.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Qt Toolkit - xml/tagreader/tagreader.cpp example file</title><style type="text/css"><!--h3.fn,span.fn { margin-left: 1cm; text-indent: -1cm; }a:link { color: #004faf; text-decoration: none }a:visited { color: #672967; text-decoration: none }body { background: white; color: black; }--></style></head><body bgcolor="#ffffff"><table width="100%"><tr><td><a href="index.html"><img width="100" height="100" src="qtlogo.png"alt="Home" border="0"><img width="100"height="100" src="face.png" alt="Home" border="0"></a><td valign="top"><div align="right"><img src="dochead.png" width="472" height="27"><br><a href="classes.html"><b>Classes</b></a>- <a href="annotated.html">Annotated</a>- <a href="hierarchy.html">Tree</a>- <a href="functions.html">Functions</a>- <a href="index.html">Home</a>- <a href="topicals.html"><b>Structure</b> <font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" align="center" size=32>Qte</font></a></div></table><h1 align=center>A tiny SAX2 parser</h1><br clear="all"> This example presents a small <a href="xml-sax.html">SAX2</a> reader that outputs the names of all elements in an XML document on the command line. The element names are indented corresponding to their nesting This example is thoroughly explained in a <a href="xml-sax-walkthrough.html">walkthrough</a>. <hr> Header file: <pre>/*$Id: qt/examples/xml/tagreader/structureparser.h 2.3.8 edited 2004-05-12 $*/ #include <<a href="qxml-h.html">qxml.h</a>>class QString;class StructureParser : public QXmlDefaultHandler{public: bool startDocument(); bool startElement( const QString&, const QString&, const QString& , const QXmlAttributes& ); bool endElement( const QString&, const QString&, const QString& );private: <a href="qstring.html">QString</a> indent;};</pre> <hr> Implementation: <pre>/*$Id: qt/examples/xml/tagreader/structureparser.cpp 2.3.8 edited 2004-05-12 $*/#include "structureparser.h"#include <iostream.h>#include <<a href="qstring-h.html">qstring.h</a>>bool <a name="43"></a>StructureParser::startDocument(){ indent = ""; return TRUE;}bool <a name="44"></a>StructureParser::startElement( const QString&, const QString&, const QString& qName, const QXmlAttributes& ){ cout << indent << qName << endl; indent += " "; return TRUE;}bool <a name="45"></a>StructureParser::endElement( const QString&, const QString&, const QString& ){ indent.remove( 0, 4 ); return TRUE;}</pre> <hr> Main:<pre>/*$Id: qt/examples/xml/tagreader/tagreader.cpp 2.3.8 edited 2004-05-12 $*/#include "structureparser.h"#include <<a name="qfile.h"></a><a href="qfile-h.html">qfile.h</a>>#include <<a name="qxml.h"></a><a href="qxml-h.html">qxml.h</a>>int main( int argc, char **argv ){ for ( int i=1; i < argc; i++ ) { StructureParser handler; <a name="QFile"></a><a href="qfile.html">QFile</a> xmlFile( argv[i] ); <a name="QXmlInputSource"></a><a href="qxmlinputsource.html">QXmlInputSource</a> source( xmlFile ); <a name="QXmlSimpleReader"></a><a href="qxmlsimplereader.html">QXmlSimpleReader</a> reader; reader.<a name="setContentHandler"></a><a href="qxmlsimplereader.html#3ce23b">setContentHandler</a>( &handler ); reader.<a name="parse"></a><a href="qxmlsimplereader.html#2d6b2a">parse</a>( source ); } return 0;}</pre><p><address><hr><div align="center"><table width="100%" cellspacing="0" border="0"><tr><td>Copyright
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -