Viadeo Twitter Google Bookmarks ! Facebook Digg del.icio.us MySpace Yahoo MyWeb Blinklist Netvouz Reddit Simpy StumbleUpon Bookmarks Windows Live Favorites 
Logo Documentation Qt ·  Page d'accueil  ·  Toutes les classes  ·  Classes principales  ·  Annotées  ·  Classes groupées  ·  Fonctions  · 

QXmlSimpleReader Class Reference
[XML module]

The QXmlSimpleReader class provides an implementation of a simple XML reader (parser). More...

#include <qxml.h>

Inherits QXmlReader.

List of all member functions.

Public Members


Detailed Description

The QXmlSimpleReader class provides an implementation of a simple XML reader (parser).

This XML reader is sufficient for simple parsing tasks. The reader:

  • provides a well-formed parser;
  • does not parse any external entities;
  • can do namespace processing.

Documents are parsed with a call to parse().

See also XML.


Member Function Documentation

QXmlSimpleReader::QXmlSimpleReader ()

Constructs a simple XML reader with the following feature settings:
Feature Setting
http://xml.org/sax/features/namespaces TRUE
http://xml.org/sax/features/namespace-prefixes FALSE
http://trolltech.com/xml/features/report-whitespace-only-CharData TRUE
http://trolltech.com/xml/features/report-start-end-entity FALSE

More information about features can be found in the Qt SAX2 overview.

See also setFeature().

QXmlSimpleReader::~QXmlSimpleReader () [virtual]

Destroys the simple XML reader.

bool QXmlSimpleReader::parse ( const QXmlInputSource * input, bool incremental ) [virtual]

Reads an XML document from input and parses it. Returns FALSE if the parsing detects an error; otherwise returns TRUE.

If incremental is TRUE, the parser does not return FALSE when it reaches the end of the input without reaching the end of the XML file. Instead it stores the state of the parser so that parsing can be continued at a later stage when more data is available. You can use the function parseContinue() to continue with parsing. This class stores a pointer to the input source input and the parseContinue() function tries to read from that input souce. This means that you should not delete the input source input until you've finished your calls to parseContinue(). If you call this function with incremental TRUE whilst an incremental parse is in progress a new parsing session will be started and the previous session lost.

If incremental is FALSE, this function behaves like the normal parse function, i.e. it returns FALSE when the end of input is reached without reaching the end of the XML file and the parsing cannot be continued.

See also parseContinue() and QSocket.

Examples: xml/tagreader-with-features/tagreader.cpp and xml/tagreader/tagreader.cpp.

bool QXmlSimpleReader::parseContinue () [virtual]

Continues incremental parsing; this function reads the input from the QXmlInputSource that was specified with the last parse() command. To use this function, you must have called parse() with the incremental argument set to TRUE.

Returns FALSE if a parsing error occurs; otherwise returns TRUE.

If the input source returns an empty string for the function QXmlInputSource::data(), then this means that the end of the XML file has been reached; this is quite important, especially if you want to use the reader to parse more than one XML file.

The case of the end of the XML file being reached without having finished parsing is not considered to be an error: you can continue parsing at a later stage by calling this function again when there is more data available to parse.

This function assumes that the end of the XML document is reached if the QXmlInputSource::next() function returns QXmlInputSource::EndOfDocument. If the parser has not finished parsing when it encounters this symbol, it is an error and FALSE is returned.

See also parse() and QXmlInputSource::next().

void QXmlSimpleReader::setFeature ( const QString & name, bool value ) [virtual]

Sets the state of the feature name to value:

If the feature is not recognized, it is ignored.

The following features are supported:

Feature Notes
http://xml.org/sax/features/namespaces If this feature is TRUE, namespace processing is performed.
http://xml.org/sax/features/namespace-prefixes If this feature is TRUE, the the original prefixed names and attributes used for namespace declarations are reported.
http://trolltech.com/xml/features/report-whitespace-only-CharData If this feature is TRUE, CharData that consist of whitespace only (and no other characters) are not reported via QXmlContentHandler::characters().
http://trolltech.com/xml/features/report-start-end-entity If this feature is TRUE, the parser reports QXmlContentHandler::startEntity() and QXmlContentHandler::endEntity() events. So character data might be reported in chunks. If this feature is FALSE, the parser does not report those events, but rather silently substitutes the entities and reports the character data in one chunk.

        QXmlSimpleReader reader;
        reader.setFeature( "http://xml.org/sax/features/namespace-prefixes",
                           TRUE );

(Code taken from xml/tagreader-with-features/tagreader.cpp)

See also feature() and hasFeature().

Example: xml/tagreader-with-features/tagreader.cpp.

Reimplemented from QXmlReader.


This file is part of the Qt toolkit. Copyright © 1995-2003 Trolltech. All Rights Reserved.

Publicité

Best Of

Actualités les plus lues

Semaine
Mois
Année
  1. « Quelque chose ne va vraiment pas avec les développeurs "modernes" », un développeur à "l'ancienne" critique la multiplication des bibliothèques 94
  2. Apercevoir la troisième dimension ou l'utilisation multithreadée d'OpenGL dans Qt, un article des Qt Quarterly traduit par Guillaume Belz 0
  3. Les développeurs ignorent-ils trop les failles découvertes dans leur code ? Prenez-vous en compte les remarques des autres ? 17
  4. Pourquoi les programmeurs sont-ils moins payés que les gestionnaires de programmes ? Manquent-ils de pouvoir de négociation ? 42
  5. Quelles nouveautés de C++11 Visual C++ doit-il rapidement intégrer ? Donnez-nous votre avis 10
  6. Adieu qmake, bienvenue qbs : Qt Building Suite, un outil déclaratif et extensible pour la compilation de projets Qt 17
  7. 2017 : un quinquennat pour une nouvelle version du C++ ? Possible, selon Herb Sutter 8
Page suivante

Le Qt Labs au hasard

Logo

Utiliser OpenCL avec Qt

Les Qt Labs sont les laboratoires des développeurs de Qt, où ils peuvent partager des impressions sur le framework, son utilisation, ce que pourrait être son futur. Lire l'article.

Communauté

Ressources

Liens utiles

Contact

  • Vous souhaitez rejoindre la rédaction ou proposer un tutoriel, une traduction, une question... ? Postez dans le forum Contribuez ou contactez-nous par MP ou par email (voir en bas de page).

Qt dans le magazine

Cette page est une traduction d'une page de la documentation de Qt, écrite par Nokia Corporation and/or its subsidiary(-ies). Les éventuels problèmes résultant d'une mauvaise traduction ne sont pas imputables à Nokia. Qt 3.2
Copyright © 2012 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon, vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.
Vous avez déniché une erreur ? Un bug ? Une redirection cassée ? Ou tout autre problème, quel qu'il soit ? Ou bien vous désirez participer à ce projet de traduction ? N'hésitez pas à nous contacter ou par MP !
 
 
 
 
Partenaires

Hébergement Web