Работа с деревом DOM
DOM Level 2 — это рекомендация W3C для XML-интерфейсов, которая отображает составляющие XML-документа в структуру дерева. Спецификацию DOM Level 2 можно найти по адресу http://www.w3.org/DOM/.
Введение в DOM
DOM предоставляет интерфейс для доступа к содержимому и структуре XML-файла и изменения этих данных. Он отображает документ в виде иерархического дерева. Таким образом, в отличие от интерфейса SAX2, после разбора модель объекта документа хранится в памяти, что упрощает его обработку.
Все узлы DOM в дереве документа являются подклассами QDomNode. Сам документ представлен объектом QDomDocument.
Вот доступные классы узлов и их потенциальные дочерние классы:
- QDomDocument: Возможными дочерними элементами являются
- QDomElement (максимум один)
- QDomProcessingInstruction
- QDomComment
- QDomDocumentType
- QDomDocumentFragment: Возможными дочерними элементами являются
- QDomDocumentType: Без дочерних элементов
- QDomEntityReference: Возможными дочерними элементами являются
- QDomElement: Возможными дочерними элементами являются
- QDomAttr: Возможными дочерними элементами являются
- QDomProcessingInstruction: Без дочерних элементов
- QDomComment: Без дочерних элементов
- QDomText: Без дочерних элементов
- QDomCDATASection: Без дочерних элементов
- QDomEntity: Возможными дочерними элементами являются
- QDomNotation: Без дочерних элементов
С помощью классов QDomNodeList и QDomNamedNodeMap предоставляются два класса коллекций: QDomNodeList — список узлов, а QDomNamedNodeMap используется для обработки неупорядоченных наборов узлов (часто используется для атрибутов).
Класс QDomImplementation позволяет пользователю запрашивать возможности реализации DOM.
Для начала работы, пожалуйста, обратитесь к документации QDomDocument. Вы также можете ознакомиться с примером DOM Bookmarks Example, который иллюстрирует, как читать и записывать файл XML-закладок (XBEL) с помощью DOM.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.12/xml-dom-tml.html