diff options
| author | Olivier Goffart <olivier.goffart@nokia.com> | 2011-06-24 09:12:15 (GMT) |
|---|---|---|
| committer | Olivier Goffart <olivier.goffart@nokia.com> | 2011-06-24 09:12:15 (GMT) |
| commit | 11cc0f661911628fb51c92d30c684eb1cea01145 (patch) | |
| tree | 3f89e82669b12ea49e0586d3ff14c0d01594301e /doc/src/snippets/xml/streamreader/traverse.cpp | |
| parent | 9d5b0e31f287ce502eaf9a2c0876d900424c80ab (diff) | |
| parent | 164728f711136356a6c3482f762321b01c9d82dd (diff) | |
| download | Qt-11cc0f661911628fb51c92d30c684eb1cea01145.zip Qt-11cc0f661911628fb51c92d30c684eb1cea01145.tar.gz Qt-11cc0f661911628fb51c92d30c684eb1cea01145.tar.bz2 | |
Merge remote-tracking branch 'origin/4.8'
Diffstat (limited to 'doc/src/snippets/xml/streamreader/traverse.cpp')
| -rw-r--r-- | doc/src/snippets/xml/streamreader/traverse.cpp | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/doc/src/snippets/xml/streamreader/traverse.cpp b/doc/src/snippets/xml/streamreader/traverse.cpp new file mode 100644 index 0000000..25b64eb --- /dev/null +++ b/doc/src/snippets/xml/streamreader/traverse.cpp @@ -0,0 +1,78 @@ +/**************************************************************************** +** +** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the documentation of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor +** the names of its contributors may be used to endorse or promote +** products derived from this software without specific prior written +** permission. +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include <QCoreApplication> +#include <QFile> +#include <QStringList> +#include <QXmlStreamReader> + +#include <iostream> + +class Traverse +{ + Q_DECLARE_TR_FUNCTIONS(Traverse) +}; + +int main(int argc, char *argv[]) +{ + QCoreApplication app(argc, argv); + + if (app.arguments().count() != 2) { + std::cerr << qPrintable(Traverse::tr("Usage: traverse <XML file>")) << std::endl; + return 1; + } + + QFile file(app.arguments()[1]); + if (!file.open(QFile::ReadOnly)) { + std::cerr << qPrintable(Traverse::tr("Failed to open file: %1").arg(app.arguments()[1])) << std::endl; + return 1; + } + + //! [traverse document] + QXmlStreamReader xs(&file); + while (!xs.atEnd()) { + if (xs.readNextStartElement()) + std::cout << qPrintable(xs.name().toString()) << std::endl; + } + //! [traverse document] + + file.close(); + return 0; +} |
