QDomNode 類

The QDomNode 類是 DOM (文檔對象模型) 樹中所有節點的基類。 更多...

頭: #include <QDomNode>
qmake: QT += xml
繼承者: QDomAttr , QDomCharacterData , QDomDocument , QDomDocumentFragment , QDomDocumentType , QDomElement , QDomEntity , QDomEntityReference , QDomNotation ,和 QDomProcessingInstruction

注意: 此類的所有函數 可重入 .

公共類型

enum EncodingPolicy { EncodingFromDocument, EncodingFromTextStream }
enum NodeType { ElementNode, AttributeNode, TextNode, CDATASectionNode, ..., CharacterDataNode }

公共函數

QDomNode ()
QDomNode (const QDomNode & n )
~QDomNode ()
QDomNode appendChild (const QDomNode & newChild )
QDomNamedNodeMap attributes () const
QDomNodeList childNodes () const
void clear ()
QDomNode cloneNode (bool deep = true) const
int columnNumber () const
QDomNode firstChild () const
QDomElement firstChildElement (const QString & tagName = QString()) const
bool hasAttributes () const
bool hasChildNodes () const
QDomNode insertAfter (const QDomNode & newChild , const QDomNode & refChild )
QDomNode insertBefore (const QDomNode & newChild , const QDomNode & refChild )
bool isAttr () const
bool isCDATASection () const
bool isCharacterData () const
bool isComment () const
bool isDocument () const
bool isDocumentFragment () const
bool isDocumentType () const
bool isElement () const
bool isEntity () const
bool isEntityReference () const
bool isNotation () const
bool isNull () const
bool isProcessingInstruction () const
bool isSupported (const QString & feature , const QString & version ) const
bool isText () const
QDomNode lastChild () const
QDomElement lastChildElement (const QString & tagName = QString()) const
int lineNumber () const
QString localName () const
QDomNode namedItem (const QString & name ) const
QString namespaceURI () const
QDomNode nextSibling () const
QDomElement nextSiblingElement (const QString & tagName = QString()) const
QString nodeName () const
NodeType nodeType () const
QString nodeValue () const
void normalize ()
QDomDocument ownerDocument () const
QDomNode parentNode () const
QString prefix () const
QDomNode previousSibling () const
QDomElement previousSiblingElement (const QString & tagName = QString()) const
QDomNode removeChild (const QDomNode & oldChild )
QDomNode replaceChild (const QDomNode & newChild , const QDomNode & oldChild )
void save (QTextStream & stream , int indent , EncodingPolicy encodingPolicy = QDomNode::EncodingFromDocument) const
void setNodeValue (const QString & v )
void setPrefix (const QString & pre )
QDomAttr toAttr () const
QDomCDATASection toCDATASection () const
QDomCharacterData toCharacterData () const
QDomComment toComment () const
QDomDocument toDocument () const
QDomDocumentFragment toDocumentFragment () const
QDomDocumentType toDocumentType () const
QDomElement toElement () const
QDomEntity toEntity () const
QDomEntityReference toEntityReference () const
QDomNotation toNotation () const
QDomProcessingInstruction toProcessingInstruction () const
QDomText toText () const
bool operator!= (const QDomNode & n ) const
QDomNode & operator= (const QDomNode & n )
bool operator== (const QDomNode & n ) const
QTextStream & operator<< (QTextStream & str , const QDomNode & node )

詳細描述

The QDomNode 類是 DOM (文檔對象模型) 樹中所有節點的基類。

DOM 中的很多函數返迴 QDomNode .

可以找齣節點的類型使用 isAttr (), isCDATASection (), isDocumentFragment (), isDocument (), isDocumentType (), isElement (), isEntityReference (), isText (), isEntity (), isNotation (), isProcessingInstruction (), isCharacterData () 和 isComment ().

A QDomNode 可以被轉換成其子類之一使用 toAttr (), toCDATASection (), toDocumentFragment (), toDocument (), toDocumentType (), toElement (), toEntityReference (), toText (), toEntity (), toNotation (), toProcessingInstruction (), toCharacterData () 或 toComment ()。可以將節點轉換為 null 節點采用 clear ().

副本 QDomNode 類使用明確共享,共享它們的數據。這意味著修改一節點將改變所有副本。這尤其有用,當組閤函數返迴 QDomNode ,如 firstChild ()。可以製作節點的獨立 (深) 拷貝采用 cloneNode ().

A QDomNode 可以為 null,非常像 null 指針。創建 null 節點副本會産生另一 null 節點。修改 null 節點是不可能的,但將另一可能非 null 節點賦值給它是可能的。在這種情況下,null 節點副本將仍然為 null。可以校驗是否 QDomNode 為 null 通過調用 isNull ()。空構造函數 QDomNode (或任何派生類) 創建 null 節點。

插入節點采用 insertBefore (), insertAfter () 或 appendChild ()。可以采用另一節點替換某個節點使用 replaceChild () 和移除節點采用 removeChild ().

要遍曆節點使用 firstChild () 以獲取節點的第一子級 (若有的話),和 nextSibling () 去遍曆。 QDomNode 還提供 lastChild (), previousSibling () 和 parentNode ()。要查找具有特定節點名稱的第一子級節點使用 namedItem ().

要找齣節點是否擁有子級使用 hasChildNodes () 和要獲取節點的所有子級的列錶使用 childNodes ().

節點名稱和值 (其含義因類型而異) 的返迴通過 nodeName () 和 nodeValue () 分彆。節點類型的返迴通過 nodeType ()。可以設置節點的值采用 setNodeValue ().

節點所屬文檔的返迴通過 ownerDocument ().

相鄰 QDomText 節點可以閤並成單個節點采用 normalize ().

QDomElement 可以檢索節點擁有的屬性采用 attributes ().

QDomElement and QDomAttr 節點可以擁有可以檢索的名稱空間采用 namespaceURI ()。它們的本地名稱的檢索采用 localName (),和它們的前綴采用 prefix ()。可以設置前綴采用 setPrefix ().

可以將節點的 XML 錶示寫入文本流采用 save ().

以下範例查找 XML 文檔第一元素並打印其直接子級所有元素的名稱。

QDomDocument d;
d.setContent(someXML);
QDomNode n = d.firstChild();
while (!n.isNull()) {
    if (n.isElement()) {
        QDomElement e = n.toElement();
        cout << "Element name: " << e.tagName() << endl;
        break;
    }
    n = n.nextSibling();
}
					

有關文檔對象模型的進一步信息,見 級彆 1 and 級彆 2 核心 。有關 DOM 實現的更一般介紹,見 QDomDocument 文檔編製。

成員類型文檔編製

enum QDomNode:: EncodingPolicy

此枚舉指定如何 QDomNode::save () 確定要使用什麼編碼當序列化時。

常量 描述
QDomNode::EncodingFromDocument 1 編碼抓取自文檔。
QDomNode::EncodingFromTextStream 2 編碼抓取自 QTextStream .

該枚舉在 Qt 4.3 引入或被修改。

另請參閱 QDomNode::save ().

enum QDomNode:: NodeType

此枚舉定義節點的類型:

常量 描述
QDomNode::ElementNode 1
QDomNode::AttributeNode 2
QDomNode::TextNode 3
QDomNode::CDATASectionNode 4
QDomNode::EntityReferenceNode 5
QDomNode::EntityNode 6
QDomNode::ProcessingInstructionNode 7
QDomNode::CommentNode 8
QDomNode::DocumentNode 9
QDomNode::DocumentTypeNode 10
QDomNode::DocumentFragmentNode 11
QDomNode::NotationNode 12
QDomNode::BaseNode 21 A QDomNode 對象,即不是 QDomNode 子類。
QDomNode::CharacterDataNode 22

成員函數文檔編製

QDomNode:: QDomNode ()

構造 null 節點。

QDomNode:: QDomNode (const QDomNode & n )

構造副本為 n .

拷貝數據是共享的 (淺拷貝):修改一節點也會改變另一節點。若想要做深拷貝,使用 cloneNode ().

QDomNode:: ~QDomNode ()

銷毀對象並釋放其資源。

QDomNode QDomNode:: appendChild (const QDomNode & newChild )

追加 newChild 作為節點的最後子級。

newChild 是另一節點的子級,它會重設父級到此節點。若 newChild 是此節點的子級,那麼它在子級列錶中的位置會改變。

newChild QDomDocumentFragment ,那麼片段的子級將從片段中移除並追加。

newChild QDomElement 和此節點是 QDomDocument ,已經擁有的元素節點將作為子級, newChild 不添加作為子級並返迴 null 節點。

返迴新的引用為 newChild 當成功時或 null 節點 當故障時。

在 null 節點 (例如:采用默認構造函數創建) 調用此函數什麼都不做並返迴 null 節點 .

DOM 規範禁止插入屬性節點,但由於曆史原因,無論如何 QDom 接受它們。

另請參閱 insertBefore (), insertAfter (), replaceChild (),和 removeChild ().

QDomNamedNodeMap QDomNode:: attributes () const

返迴所有屬性的命名節點映射。纔提供屬性對於 QDomElement

改變映射中的屬性也會改變其屬性對於此 QDomNode .

QDomNodeList QDomNode:: childNodes () const

返迴所有直接子級節點的列錶。

大多數情況下,會調用此函數在 QDomElement 對象。

例如,若 XML 文檔看起來像這樣:

<body>
<h1>Heading</h1>
<p>Hello <b>you</b></p>
</body>
					

那麼 body 元素的子級節點列錶將包含由 <h1> 和 <p> 標簽創建的節點。

列錶中的節點不是副本;因此改變列錶中的節點也會改變此節點的子級。

另請參閱 firstChild () 和 lastChild ().

void QDomNode:: clear ()

將節點轉換為 null 節點;若它之前不是 null 節點,刪除其類型和內容。

另請參閱 isNull ().

QDomNode QDomNode:: cloneNode ( bool deep = true) const

創建深 (非淺) 副本為 QDomNode .

deep 為 true,那麼會遞歸完成剋隆,意味著所有節點的子級也被深拷貝。若 deep 為 false 僅節點本身被拷貝且副本沒有子級節點。

int QDomNode:: columnNumber () const

對於創建的節點通過 QDomDocument::setContent (),此函數返迴經剖析 XML 文檔節點的列數。否則,返迴 -1。

該函數在 Qt 4.1 引入。

另請參閱 lineNumber () 和 QDomDocument::setContent ().

QDomNode QDomNode:: firstChild () const

返迴節點的第一子級。若沒有子級節點, null 節點 被返迴。改變返迴節點也會改變文檔樹節點。

另請參閱 lastChild () 和 childNodes ().

QDomElement QDomNode:: firstChildElement (const QString & tagName = QString()) const

返迴的第一子級元素具有標簽名稱 tagName 若 tagName 非空; 否則返迴第一子級元素。返迴 null 元素若不存在這樣的子級。

另請參閱 lastChildElement (), previousSiblingElement (),和 nextSiblingElement ().

bool QDomNode:: hasAttributes () const

返迴 true 若節點擁有屬性;否則返迴 false .

另請參閱 attributes ().

bool QDomNode:: hasChildNodes () const

返迴 true 若節點擁有一個或多個子級;否則返迴 false .

QDomNode QDomNode:: insertAfter (const QDomNode & newChild , const QDomNode & refChild )

插入節點 newChild 後於子級節點 refChild . refChild 必須是此節點的直接子級。若 refChild is null then newChild 被追加作為此節點的最後子級。

newChild 是另一節點的子級,它會重設父級到此節點。若 newChild 是此節點的子級,那麼它在子級列錶中的位置會改變。

newChild QDomDocumentFragment ,那麼片段的子級將從片段被移除並插入後於 refChild .

返迴新的引用為 newChild 當成功時或 null 節點 當故障時。

DOM 規範禁止插入屬性節點,但由於曆史原因 QDom 仍然接受它們。

另請參閱 insertBefore (), replaceChild (), removeChild (),和 appendChild ().

QDomNode QDomNode:: insertBefore (const QDomNode & newChild , const QDomNode & refChild )

插入節點 newChild 前於子級節點 refChild . refChild 必須是此節點的直接子級。若 refChild is null then newChild 被插入作為節點的第一子級。

newChild 是另一節點的子級,它會重設父級到此節點。若 newChild 是此節點的子級,那麼它在子級列錶中的位置會改變。

newChild QDomDocumentFragment ,那麼片段的子級將從片段被移除並插入前於 refChild .

返迴新的引用為 newChild 當成功時或 null 節點 當故障時。

DOM 規範禁止插入屬性節點,但由於曆史原因 QDom 仍然接受它們。

另請參閱 insertAfter (), replaceChild (), removeChild (),和 appendChild ().

bool QDomNode:: isAttr () const

返迴 true 若節點是屬性;否則返迴 false .

若此函數返迴 true ,它並未暗示此對象是 QDomAttribute;可以采用 toAttribute() 獲取 QDomAttribute。

另請參閱 toAttr ().

bool QDomNode:: isCDATASection () const

返迴 true 若節點是 CDATA 區間;否則返迴 false。

若此函數返迴 true ,它並未暗示此對象是 QDomCDATASection ;可以獲取 QDomCDATASection with toCDATASection ().

另請參閱 toCDATASection ().

bool QDomNode:: isCharacterData () const

返迴 true 若節點是字符數據節點;否則返迴 false .

若此函數返迴 true ,它並未暗示此對象是 QDomCharacterData ;可以獲取 QDomCharacterData with toCharacterData ().

另請參閱 toCharacterData ().

bool QDomNode:: isComment () const

返迴 true 若節點是注釋;否則返迴 false .

若此函數返迴 true ,它並未暗示此對象是 QDomComment ;可以獲取 QDomComment with toComment ().

另請參閱 toComment ().

bool QDomNode:: isDocument () const

返迴 true 若節點是文檔;否則返迴 false .

若此函數返迴 true ,它並未暗示此對象是 QDomDocument ;可以獲取 QDomDocument with toDocument ().

另請參閱 toDocument ().

bool QDomNode:: isDocumentFragment () const

返迴 true 若節點是文檔片段;否則返迴 false。

若此函數返迴 true ,它並未暗示此對象是 QDomDocumentFragment ;可以獲取 QDomDocumentFragment with toDocumentFragment ().

另請參閱 toDocumentFragment ().

bool QDomNode:: isDocumentType () const

返迴 true 若節點是文檔類型;否則返迴 false。

若此函數返迴 true ,它並未暗示此對象是 QDomDocumentType ;可以獲取 QDomDocumentType with toDocumentType ().

另請參閱 toDocumentType ().

bool QDomNode:: isElement () const

返迴 true 若節點是元素;否則返迴 false .

若此函數返迴 true ,它並未暗示此對象是 QDomElement ;可以獲取 QDomElement with toElement ().

另請參閱 toElement ().

bool QDomNode:: isEntity () const

返迴 true 若節點是實體;否則返迴 false .

若此函數返迴 true ,它並未暗示此對象是 QDomEntity ;可以獲取 QDomEntity with toEntity ().

另請參閱 toEntity ().

bool QDomNode:: isEntityReference () const

返迴 true 若節點是實體引用;否則返迴 false。

若此函數返迴 true ,它並未暗示此對象是 QDomEntityReference ;可以獲取 QDomEntityReference with toEntityReference ().

另請參閱 toEntityReference ().

bool QDomNode:: isNotation () const

返迴 true 若節點是錶示法;否則返迴 false .

若此函數返迴 true ,它並未暗示此對象是 QDomNotation ;可以獲取 QDomNotation with toNotation ().

另請參閱 toNotation ().

bool QDomNode:: isNull () const

返迴 true 若此節點為 null (即:若它沒有類型或內容);否則返迴 false .

bool QDomNode:: isProcessingInstruction () const

返迴 true 若節點是處理指令;否則返迴 false .

若此函數返迴 true ,它並未暗示此對象是 QDomProcessingInstruction ;可以獲取 QProcessingInstruction 采用 toProcessingInstruction ().

另請參閱 toProcessingInstruction ().

bool QDomNode:: isSupported (const QString & feature , const QString & version ) const

返迴 true 若 DOM (文檔對象模型) 實現實現特徵 feature 且此特徵由此節點支持在版本 version ;否則返迴 false .

另請參閱 QDomImplementation::hasFeature ().

bool QDomNode:: isText () const

返迴 true 若節點是文本節點;否則返迴 false .

若此函數返迴 true ,它並未暗示此對象是 QDomText ;可以獲取 QDomText with toText ().

另請參閱 toText ().

QDomNode QDomNode:: lastChild () const

返迴節點的最後子級。若沒有子級節點, null 節點 被返迴。改變返迴節點也會改變文檔樹節點。

另請參閱 firstChild () 和 childNodes ().

QDomElement QDomNode:: lastChildElement (const QString & tagName = QString()) const

返迴的最後子級元素具有標簽名稱 tagName 若 tagName 非空;否則返迴最後子級元素。返迴 null 元素,若不存在這種子級。

另請參閱 firstChildElement (), previousSiblingElement (),和 nextSiblingElement ().

int QDomNode:: lineNumber () const

對於創建的節點通過 QDomDocument::setContent (),此函數返迴剖析節點的 XML 文檔行號。否則,返迴 -1。

該函數在 Qt 4.1 引入。

另請參閱 columnNumber () 和 QDomDocument::setContent ().

QString QDomNode:: localName () const

若節點使用名稱空間,此函數返迴節點的本地名稱;否則它返迴空字符串。

僅節點為類型 ElementNode or AttributeNode 可以擁有名稱空間。名稱空間必須在創建時指定;之後添加名稱空間不可能。

另請參閱 prefix (), namespaceURI (), QDomDocument::createElementNS (),和 QDomDocument::createAttributeNS ().

QDomNode QDomNode:: namedItem (const QString & name ) const

返迴第一直接子級節點對於其 nodeName () 等於 name .

若不存在這種直接子級, null 節點 被返迴。

另請參閱 nodeName ().

QString QDomNode:: namespaceURI () const

返迴此節點的名稱空間 URI 或空字符串,若節點沒有名稱空間 URI。

僅節點為類型 ElementNode or AttributeNode 可以擁有名稱空間。名稱空間 URI 必須在創建時指定且以後不能更改。

另請參閱 prefix (), localName (), QDomDocument::createElementNS (),和 QDomDocument::createAttributeNS ().

QDomNode QDomNode:: nextSibling () const

返迴文檔樹中的下一同級。改變返迴節點還會改變文檔樹中的節點。

若擁有的 XML 像這樣:

<h1>Heading</h1>
<p>The text...</p>
<h2>Next heading</h2>
					

和此 QDomNode 錶示 <p> 標簽,nextSibling() 將返迴 <h2> 標簽錶示節點。

另請參閱 previousSibling ().

QDomElement QDomNode:: nextSiblingElement (const QString & tagName = QString()) const

返迴的下一同級元素具有標簽名稱 tagName if tagName 非空;否則返迴任何下一同級元素。返迴 null 元素,若不存在這種同級。

另請參閱 firstChildElement (), previousSiblingElement (),和 lastChildElement ().

QString QDomNode:: nodeName () const

返迴節點的名稱。

名稱的含義從屬子類:

名稱 含義
QDomAttr 屬性名稱
QDomCDATASection 字符串 "#cdata-section"
QDomComment 字符串 "#comment"
QDomDocument 字符串 "#document"
QDomDocumentFragment 字符串 "#document-fragment"
QDomDocumentType 文件類型的名稱
QDomElement 標簽名稱
QDomEntity 實體名稱
QDomEntityReference 引用實體的名稱
QDomNotation 錶示法名稱
QDomProcessingInstruction 處理指令的目標
QDomText 字符串 "#text"

注意: 此函數不考慮名稱空間的存在,當處理元素和屬性節點的名稱時。因此,返迴名稱可以包含可能存在的任何名稱空間前綴。要獲得元素或屬性的節點名稱,使用 localName ();要獲得名稱空間前綴,使用 namespaceURI ().

另請參閱 nodeValue ().

NodeType QDomNode:: nodeType () const

返迴節點的類型。

另請參閱 toAttr (), toCDATASection (), toDocumentFragment (), toDocument (), toDocumentType (), toElement (), toEntityReference (), toText (), toEntity (), toNotation (), toProcessingInstruction (), toCharacterData (),和 toComment ().

QString QDomNode:: nodeValue () const

返迴節點的值。

值的含義從屬子類:

名稱 含義
QDomAttr 屬性值
QDomCDATASection CDATA 區間的內容
QDomComment 注釋
QDomProcessingInstruction 處理指令的數據
QDomText 文本

所有其它子類沒有節點值,且會返迴空字符串。

另請參閱 setNodeValue () 和 nodeName ().

void QDomNode:: normalize ()

調用元素的 normalize() 會將其所有子級轉換成標準形式。這意味著相鄰 QDomText 對象將被閤並成單文本對象 ( QDomCDATASection 節點不會被閤並)。

QDomDocument QDomNode:: ownerDocument () const

返迴此節點所屬的文檔。

QDomNode QDomNode:: parentNode () const

返迴父級節點。若此節點沒有父級,返迴 null 節點 (即:節點的 isNull () 返迴 true ).

QString QDomNode:: prefix () const

返迴節點名稱空間前綴,或空字符串若節點沒有名稱空間前綴。

僅節點為類型 ElementNode or AttributeNode 可以擁有名稱空間。必須在創建時指定名稱空間前綴。若節點是采用名稱空間前綴創建的,可以稍後改變它采用 setPrefix ().

若創建元素 (或屬性) 采用 QDomDocument::createElement () 或 QDomDocument::createAttribute (),前綴將是空字符串。若使用 QDomDocument::createElementNS () 或 QDomDocument::createAttributeNS () 代替,前綴不會是空字符串;但它可能是空字符串,若名稱尚未擁有前綴。

另請參閱 setPrefix (), localName (), namespaceURI (), QDomDocument::createElementNS (),和 QDomDocument::createAttributeNS ().

QDomNode QDomNode:: previousSibling () const

返迴文檔樹的上一同級。改變返迴節點也會改變文檔樹節點。

例如,若擁有的 XML 像這樣:

<h1>Heading</h1>
<p>The text...</p>
<h2>Next heading</h2>
					

和此 QDomNode 錶示 <p> 標簽,previousSibling() 將返迴 <h1> 標簽錶示節點。

另請參閱 nextSibling ().

QDomElement QDomNode:: previousSiblingElement (const QString & tagName = QString()) const

返迴的上一同級元素具有標簽名稱 tagName if tagName 非空;否則返迴任何先前同級元素。返迴 null 元素若不存在這樣的同級。

另請參閱 firstChildElement (), nextSiblingElement (),和 lastChildElement ().

QDomNode QDomNode:: removeChild (const QDomNode & oldChild )

移除 oldChild 從子級列錶。 oldChild 必須是此節點的直接子級。

返迴新的引用為 oldChild 當成功時或 null 節點 當故障時。

另請參閱 insertBefore (), insertAfter (), replaceChild (),和 appendChild ().

QDomNode QDomNode:: replaceChild (const QDomNode & newChild , const QDomNode & oldChild )

替換 oldChild with newChild . oldChild 必須是此節點的直接子級。

newChild 是另一節點的子級,它會重設父級到此節點。若 newChild 是此節點的子級,那麼它在子級列錶中的位置會改變。

newChild QDomDocumentFragment ,那麼 oldChild 被片段的所有子級所替換。

返迴新的引用為 oldChild 當成功時或 null 節點 故障。

另請參閱 insertBefore (), insertAfter (), removeChild (),和 appendChild ().

void QDomNode:: save ( QTextStream & stream , int indent , EncodingPolicy encodingPolicy = QDomNode::EncodingFromDocument) const

將節點及其所有子級的 XML 錶示寫入流 stream 。此函數使用 indent 作為節點的縮進空格數。

若文檔包含無效 XML 字符或不能以給定編碼編碼字符,結果和行為未定義。

encodingPolicy is QDomNode::EncodingFromDocument 和此節點是文檔節點,編碼的文本流 stream 的編碼是通過將名稱 xml 的處理指令視為 XML 聲明來設置的 (若存在一個的話),否則默認為 UTF-8。XML 聲明不是處理指令,但由於曆史原因而存在此行為。若此節點不是文檔節點,使用文本流編碼。

encodingPolicy is EncodingFromTextStream 和此節點是文檔節點,此函數行為如 save( QTextStream &str, int indent) 除瞭指定編碼在文本流 stream 被使用。

若文檔包含無效 XML 字符或不能以給定編碼編碼字符,結果和行為未定義。

該函數在 Qt 4.2 引入。

void QDomNode:: setNodeValue (const QString & v )

將節點值設為 v .

另請參閱 nodeValue ().

void QDomNode:: setPrefix (const QString & pre )

若節點擁有名稱空間前綴,此函數將節點名稱空間前綴改為 pre 。否則此函數什麼都不做。

僅節點為類型 ElementNode or AttributeNode 可以擁有名稱空間。必須在創建時指定名稱空間前綴;之後添加名稱空間前綴是不可能的。

另請參閱 prefix (), localName (), namespaceURI (), QDomDocument::createElementNS (),和 QDomDocument::createAttributeNS ().

QDomAttr QDomNode:: toAttr () const

轉換 QDomNode QDomAttr 。若節點不是屬性,返迴對象將是 null .

另請參閱 isAttr ().

QDomCDATASection QDomNode:: toCDATASection () const

轉換 QDomNode QDomCDATASection 。若節點不是 CDATA 區間,返迴對象將是 null .

另請參閱 isCDATASection ().

QDomCharacterData QDomNode:: toCharacterData () const

轉換 QDomNode QDomCharacterData 。若節點不是字符數據,返迴對象將是 null .

另請參閱 isCharacterData ().

QDomComment QDomNode:: toComment () const

轉換 QDomNode QDomComment 。若節點不是注釋,返迴對象將是 null .

另請參閱 isComment ().

QDomDocument QDomNode:: toDocument () const

轉換 QDomNode QDomDocument 。若節點不是文檔,返迴對象將是 null .

另請參閱 isDocument ().

QDomDocumentFragment QDomNode:: toDocumentFragment () const

轉換 QDomNode QDomDocumentFragment 。若節點不是文檔片段,返迴對象將是 null .

另請參閱 isDocumentFragment ().

QDomDocumentType QDomNode:: toDocumentType () const

轉換 QDomNode QDomDocumentType 。若節點不是文檔類型,返迴對象將是 null .

另請參閱 isDocumentType ().

QDomElement QDomNode:: toElement () const

轉換 QDomNode QDomElement 。若節點不是元素,返迴對象將是 null .

另請參閱 isElement ().

QDomEntity QDomNode:: toEntity () const

轉換 QDomNode QDomEntity 。若節點不是實體,返迴對象將是 null .

另請參閱 isEntity ().

QDomEntityReference QDomNode:: toEntityReference () const

轉換 QDomNode QDomEntityReference 。若節點不是實體引用,返迴對象將是 null .

另請參閱 isEntityReference ().

QDomNotation QDomNode:: toNotation () const

轉換 QDomNode QDomNotation 。若節點不是錶示法,返迴對象將是 null .

另請參閱 isNotation ().

QDomProcessingInstruction QDomNode:: toProcessingInstruction () const

轉換 QDomNode QDomProcessingInstruction 。若節點不是處理指令,返迴對象將是 null .

另請參閱 isProcessingInstruction ().

QDomText QDomNode:: toText () const

轉換 QDomNode QDomText 。若節點不是文本,返迴對象將是 null .

另請參閱 isText ().

bool QDomNode:: operator!= (const QDomNode & n ) const

返迴 true if n 和此 DOM 節點不相等;否則返迴 false .

QDomNode &QDomNode:: operator= (const QDomNode & n )

賦值副本為 n 到此 DOM (文檔對象模型) 節點。

拷貝數據是共享的 (淺拷貝):修改一節點也會改變另一節點。若想要做深拷貝,使用 cloneNode ().

bool QDomNode:: operator== (const QDomNode & n ) const

返迴 true if n 和此 DOM 節點相等;否則返迴 false .

任何實例化的 QDomNode 充當底層數據結構的引用在 QDomDocument 。相等測試校驗 2 引用是否指嚮同一底層節點。例如:

QDomDocument document;
QDomElement element1 = document.documentElement();
QDomElement element2 = element1;
					

2 節點 ( QDomElement QDomNode 子類) 引用文檔根元素,且 element1 == element2 會返迴 true。另一方麵:

QDomElement element3 = document.createElement("MyElement");
QDomElement element4 = document.createElement("MyElement");
					

即使 2 節點是攜帶相同名稱的空元素, element3 == element4 會返迴 false 因為它們引用底層數據結構中的 2 不同節點。

相關非成員

QTextStream & operator<< ( QTextStream & str , const QDomNode & node )

寫入 XML 錶示在節點 node 及其所有子級到流 str .