Light-weight, simple and fast XML parser for C++ with XPath support
Improvements:
xml_attribute::set_name
and xml_node::set_name
now have overloads that accept pointer to non-null-terminated string and sizeparse_merge_pcdata
parsing mode in which PCDATA contents is merged into a single node when original document had comments that were skipped during parsingxml_document::load_file
now returns a more consistent error status when given a path to a folderBug fixes:
PUGIXML_STATIC_CRT
CMake option to correctly select static CRT when using MSVC and recent CMakeCompatibility improvements:
Thanks to @DavidKorczynski, @jiangqucheng, @SoapGentoo, @asmaloney, @ArchXUser, @stefanroellin and @vineethkuttan for contributions!
Maintenance release.
Release highlights:
xml_attribute::set_value
, xml_node::set_value
and xml_text::set
now have overloads that accept pointer to non-null-terminated string and sizexml_document::save_file
that could result in the function succeeding while running out of disk spacexml_document::load
Patch release.
This is identical to v1.12 except that it updates PUGIXML_VERSION macro to 1.12. It can be used in applications where PUGIXML_VERSION is needed, but this update is not critical otherwise.
Maintenance release.
Release highlights:
PUGIXML_
prefix and allow more configuration via CMake options, like choosing compact/wchar_t modes.Patch release.
This patch reintroduces pugixml target for CMake when find_package is used, which was accidentally removed from v1.11. It's recommended that pugixml::pugixml target is used instead, but this patch restores pugixml target for existing applications / libraries that depend on it.
The previous patch, v1.11.3, did not handle repeated attempts to call find_package; this patch fixes that particular corner case.
Patch release.
This patch reintroduces pugixml target for CMake when find_package is used, which was accidentally removed from v1.11. It's recommended that pugixml::pugixml target is used instead, but this patch restores pugixml target for existing applications / libraries that depend on it.
The previous patch, v1.11.2, was not compatible with CMake 3.10; this patch restores compatibility with earlier CMake versions when using imported targets.
Patch release.
This patch reintroduces pugixml target for CMake when find_package is used, which was accidentally removed from v1.11. It's recommended that pugixml::pugixml target is used instead, but this patch restores pugixml target for existing applications / libraries that depend on it.
The previous patch, v1.11.1, was only compatible with CMake 3.18 and up; this patch restores compatibility with earlier CMake versions when using imported targets.
Patch release.
This patch reintroduces pugixml
target for CMake when find_package
is used, which was accidentally removed from v1.11.
It's recommended that pugixml::pugixml
target is used instead, but this patch restores pugixml
target for existing applications / libraries that depend on it.
Maintenance release.
Release highlights:
pugixml::pugixml
; see subsequent patch releasesMaintenance release.
Release highlights: