📄 qdom.h
字号:
/******************************************************************************** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.**** This file is part of the QtXML module of the Qt Toolkit.**** This file may be used under the terms of the GNU General Public** License version 2.0 as published by the Free Software Foundation** and appearing in the file LICENSE.GPL included in the packaging of** this file. Please review the following information to ensure GNU** General Public Licensing requirements will be met:** http://trolltech.com/products/qt/licenses/licensing/opensource/**** If you are unsure which license is appropriate for your use, please** review the following information:** http://trolltech.com/products/qt/licenses/licensing/licensingoverview** or contact the sales department at sales@trolltech.com.**** In addition, as a special exception, Trolltech gives you certain** additional rights. These rights are described in the Trolltech GPL** Exception version 1.0, which can be found at** http://www.trolltech.com/products/qt/gplexception/ and in the file** GPL_EXCEPTION.txt in this package.**** In addition, as a special exception, Trolltech, as the sole copyright** holder for Qt Designer, grants users of the Qt/Eclipse Integration** plug-in the right for the Qt/Eclipse Integration to link to** functionality provided by Qt Designer and its related libraries.**** Trolltech reserves all rights not expressly granted herein.**** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.******************************************************************************/#ifndef QDOM_H#define QDOM_H#include <QtCore/qstring.h>QT_BEGIN_HEADERQT_MODULE(Xml)#ifndef QT_NO_DOMclass QIODevice;class QTextStream;class QXmlInputSource;class QXmlReader;class QDomDocumentPrivate;class QDomDocumentTypePrivate;class QDomDocumentFragmentPrivate;class QDomNodePrivate;class QDomNodeListPrivate;class QDomImplementationPrivate;class QDomElementPrivate;class QDomNotationPrivate;class QDomEntityPrivate;class QDomEntityReferencePrivate;class QDomProcessingInstructionPrivate;class QDomAttrPrivate;class QDomCharacterDataPrivate;class QDomTextPrivate;class QDomCommentPrivate;class QDomCDATASectionPrivate;class QDomNamedNodeMapPrivate;class QDomImplementationPrivate;class QDomNodeList;class QDomElement;class QDomText;class QDomComment;class QDomCDATASection;class QDomProcessingInstruction;class QDomAttr;class QDomEntityReference;class QDomDocument;class QDomNamedNodeMap;class QDomDocument;class QDomDocumentFragment;class QDomDocumentType;class QDomImplementation;class QDomNode;class QDomEntity;class QDomNotation;class QDomCharacterData;class Q_XML_EXPORT QDomImplementation{public: QDomImplementation(); QDomImplementation(const QDomImplementation&); ~QDomImplementation(); QDomImplementation& operator= (const QDomImplementation&); bool operator== (const QDomImplementation&) const; bool operator!= (const QDomImplementation&) const; // functions bool hasFeature(const QString& feature, const QString& version) const; QDomDocumentType createDocumentType(const QString& qName, const QString& publicId, const QString& systemId); QDomDocument createDocument(const QString& nsURI, const QString& qName, const QDomDocumentType& doctype); enum InvalidDataPolicy { AcceptInvalidChars = 0, DropInvalidChars, ReturnNullNode }; static InvalidDataPolicy invalidDataPolicy(); static void setInvalidDataPolicy(InvalidDataPolicy policy); // Qt extension bool isNull();private: QDomImplementationPrivate* impl; QDomImplementation(QDomImplementationPrivate*); friend class QDomDocument;};class Q_XML_EXPORT QDomNode{public: enum NodeType { ElementNode = 1, AttributeNode = 2, TextNode = 3, CDATASectionNode = 4, EntityReferenceNode = 5, EntityNode = 6, ProcessingInstructionNode = 7, CommentNode = 8, DocumentNode = 9, DocumentTypeNode = 10, DocumentFragmentNode = 11, NotationNode = 12, BaseNode = 21,// this is not in the standard CharacterDataNode = 22 // this is not in the standard }; enum EncodingPolicy { EncodingFromDocument = 1, EncodingFromTextStream = 2 }; QDomNode(); QDomNode(const QDomNode&); QDomNode& operator= (const QDomNode&); bool operator== (const QDomNode&) const; bool operator!= (const QDomNode&) const; ~QDomNode(); // DOM functions QDomNode insertBefore(const QDomNode& newChild, const QDomNode& refChild); QDomNode insertAfter(const QDomNode& newChild, const QDomNode& refChild); QDomNode replaceChild(const QDomNode& newChild, const QDomNode& oldChild); QDomNode removeChild(const QDomNode& oldChild); QDomNode appendChild(const QDomNode& newChild); bool hasChildNodes() const; QDomNode cloneNode(bool deep = true) const; void normalize(); bool isSupported(const QString& feature, const QString& version) const; // DOM read-only attributes QString nodeName() const; NodeType nodeType() const; QDomNode parentNode() const; QDomNodeList childNodes() const; QDomNode firstChild() const; QDomNode lastChild() const; QDomNode previousSibling() const; QDomNode nextSibling() const; QDomNamedNodeMap attributes() const; QDomDocument ownerDocument() const; QString namespaceURI() const; QString localName() const; bool hasAttributes() const; // DOM attributes QString nodeValue() const; void setNodeValue(const QString&); QString prefix() const; void setPrefix(const QString& pre); // Qt extensions bool isAttr() const; bool isCDATASection() const; bool isDocumentFragment() const; bool isDocument() const; bool isDocumentType() const; bool isElement() const; bool isEntityReference() const; bool isText() const; bool isEntity() const; bool isNotation() const; bool isProcessingInstruction() const; bool isCharacterData() const; bool isComment() const; /** * Shortcut to avoid dealing with QDomNodeList * all the time. */ QDomNode namedItem(const QString& name) const; bool isNull() const; void clear(); QDomAttr toAttr() const; QDomCDATASection toCDATASection() const; QDomDocumentFragment toDocumentFragment() const; QDomDocument toDocument() const; QDomDocumentType toDocumentType() const; QDomElement toElement() const; QDomEntityReference toEntityReference() const; QDomText toText() const; QDomEntity toEntity() const; QDomNotation toNotation() const; QDomProcessingInstruction toProcessingInstruction() const; QDomCharacterData toCharacterData() const; QDomComment toComment() const; void save(QTextStream&, int) const; void save(QTextStream&, int, EncodingPolicy) const; // ### Qt 5: Merge overload(if we at all keep this) QDomElement firstChildElement(const QString &tagName = QString()) const; QDomElement lastChildElement(const QString &tagName = QString()) const; QDomElement previousSiblingElement(const QString &tagName = QString()) const; QDomElement nextSiblingElement(const QString &taName = QString()) const; int lineNumber() const; int columnNumber() const;protected: QDomNodePrivate* impl; QDomNode(QDomNodePrivate*);private: friend class QDomDocument; friend class QDomDocumentType; friend class QDomNodeList; friend class QDomNamedNodeMap;};class Q_XML_EXPORT QDomNodeList{public: QDomNodeList(); QDomNodeList(const QDomNodeList&); QDomNodeList& operator= (const QDomNodeList&); bool operator== (const QDomNodeList&) const; bool operator!= (const QDomNodeList&) const; ~QDomNodeList(); // DOM functions QDomNode item(int index) const; inline QDomNode at(int index) const { return item(index); } // Qt API consistency // DOM read only attributes uint length() const; inline int count() const { return length(); } // Qt API consitancy inline int size() const { return length(); } // Qt API consistency inline bool isEmpty() const { return length() == 0; } // Qt API consistencyprivate: QDomNodeListPrivate* impl; QDomNodeList(QDomNodeListPrivate*); friend class QDomNode; friend class QDomElement; friend class QDomDocument;};class Q_XML_EXPORT QDomDocumentType : public QDomNode{public: QDomDocumentType(); QDomDocumentType(const QDomDocumentType& x); QDomDocumentType& operator= (const QDomDocumentType&); // DOM read only attributes QString name() const; QDomNamedNodeMap entities() const; QDomNamedNodeMap notations() const; QString publicId() const; QString systemId() const; QString internalSubset() const; // Overridden from QDomNode inline QDomNode::NodeType nodeType() const { return DocumentTypeNode; }private: QDomDocumentType(QDomDocumentTypePrivate*); friend class QDomImplementation; friend class QDomDocument; friend class QDomNode;};class Q_XML_EXPORT QDomDocument : public QDomNode{public: QDomDocument(); explicit QDomDocument(const QString& name); explicit QDomDocument(const QDomDocumentType& doctype); QDomDocument(const QDomDocument& x); QDomDocument& operator= (const QDomDocument&); ~QDomDocument(); // DOM functions QDomElement createElement(const QString& tagName); QDomDocumentFragment createDocumentFragment(); QDomText createTextNode(const QString& data); QDomComment createComment(const QString& data); QDomCDATASection createCDATASection(const QString& data); QDomProcessingInstruction createProcessingInstruction(const QString& target, const QString& data); QDomAttr createAttribute(const QString& name); QDomEntityReference createEntityReference(const QString& name); QDomNodeList elementsByTagName(const QString& tagname) const; QDomNode importNode(const QDomNode& importedNode, bool deep); QDomElement createElementNS(const QString& nsURI, const QString& qName); QDomAttr createAttributeNS(const QString& nsURI, const QString& qName); QDomNodeList elementsByTagNameNS(const QString& nsURI, const QString& localName); QDomElement elementById(const QString& elementId); // DOM read only attributes QDomDocumentType doctype() const; QDomImplementation implementation() const; QDomElement documentElement() const; // Overridden from QDomNode inline QDomNode::NodeType nodeType() const { return DocumentNode; } // Qt extensions bool setContent(const QByteArray& text, bool namespaceProcessing, QString *errorMsg=0, int *errorLine=0, int *errorColumn=0 );
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -