QtXml協助文檔翻譯

來源:互聯網
上載者:User

1) QDomDocument類(文檔節點),<QDomDocument>表示XML檔案,是整個檔案樹的根節點,提供整個文檔的訪問。由於元素、文本節點、注釋、處理指示都不能存在於外部檔案,因此這些內容都必須在檔案內被建立,並用ownerDocument()關聯建立。

     讀入文檔setContent(QFile *file),若讀取失敗返回0,成功返回1

    利用creatElement()createTextNode(), createComment(), createCDATASection(), createProcessingInstruction(), createAttribute() and createEntityReference()等函數可以建立元素、文本節點、注釋、處理指示等文檔資料。

    將dom寫到xml檔案中,save(QTextStream &str,int indent)


2)QDomElement類(元素節點),<QDomElement>代表DOM樹的一個元素,從QDomNode繼承。
    有一個標籤名(tagName())並可以有多個或沒有屬性與之對應,標籤名可以用setTagName()修改;

3)QDomNode類(節點類),<QDomNode>,是Dom樹中所有節點的基類。
    有兩個公有成員:分別用於編碼格式與節點類型
    EncodingPolicy{EncodingFromDocument,EncodingFromTextStream}從文檔或text流提取編碼
    NodeType{ ElementNode, AttributeNode, TextNode, CDATASectionNode, ..., CharacterDataNode}代表不同的節點類型:元素節點、屬性節點、文本節點、注釋節點、文檔節點.....

    判斷節點類型可以利用Attr(), isCDATASection(), isDocumentFragment(), isDocument(), isDocumentType(), isElement(), isEntityReference(), isText(), isEntity(), isNotation(), isProcessingInstruction(), isCharacterData() and isComment().來判斷
    同時一個QDomNode類可以轉換為元素節點、屬性節點、文本節點、注釋節點、文檔節點等具體的,利用 toAttr(), toCDATASection(), toDocumentFragment(), toDocument(), toDocumentType(), toElement(),......
    QDomNode可以建立一個NULL的節點,且該節點不能被修改,可以用isNull()判斷。
    節點的插入、替換和刪除操作可以用 insertBefore(), insertAfter() or appendChild()和replaceChild()  removeChild()
    節點的遍曆:firstChild()擷取第一個節點,nextSibling()用於遍曆,還有lastChild()  previousSibling()  parentNode()用於找到最後一個子節點、前一個兄弟節點、父節點
    子節點:是否存在hasChildNodes(),擷取子節點列表childNodes()
    節點的名字、值和屬性可以nodeType() nodeValue()  nodeName()獲得,可以利用setNodeValue()修改節點的值
    文檔節點通過ownerDocument()返回獲得


4)QDomAttr類(屬性節點類) <QDomAttr>,用於表示QDomElement的一個屬性。
    QDomAttr通過name()  value()返回屬性的名字和值,setValue設定值,ownerElement()返回該屬性屬於哪個元素節點

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.