Migrate from QDomDocument to QXmlStreamReader#18
Merged
Conversation
d00178b to
a93cadf
Compare
There was a problem hiding this comment.
Pull request overview
Migrates the project’s XML parsing away from deprecated QDomDocument/QtXml toward a QXmlStreamReader-based parser in DomElement, reducing dependencies (QtCore-only) and aligning with Qt6 recommendations.
Changes:
- Replace
QDomDocumentparsing in board/library/schematic loaders withDomElement::parse(...). - Rework
DomElementinternals to build the element tree usingQXmlStreamReader. - Remove the QtXml component from CMake configuration and linking.
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
parseagle/common/domelement.h |
Replaces QDom-based API with DomElement::parse(...) stream-based parsing entrypoints. |
parseagle/common/domelement.cpp |
Implements the QXmlStreamReader-driven element tree parsing logic and new parse overloads. |
parseagle/board/board.cpp |
Switches board loading to the new DomElement::parse(content) path. |
parseagle/library.cpp |
Switches library loading to the new DomElement::parse(content) path. |
parseagle/schematic/schematic.cpp |
Switches schematic loading to the new DomElement::parse(content) path. |
CMakeLists.txt |
Drops QtXml from find_package and linking; links only Qt::Core. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
QDomDocument is deprecated in Qt6 and requires a separate Qt module (QtXml). Qt docs recommend to use QXmlStreamReader instead, which is even part of QtCore.
a93cadf to
809db37
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
QDomDocumentis deprecated in Qt6 and requires a separate Qt module (QtXml). Qt docs recommend to useQXmlStreamReaderinstead, which is even part of QtCore.TODO: Do more testing.