RSSAmplifier

Blog

pugixml.org

Light-weight, simple and fast XML parser for C++ with XPath support

pugixml.orgRSS feed ↗18 posts

Latest posts

pugixml 1.16 release

pugixml-1.16 is out. This is an anniversary release: pugixml turns 20 this year! In early 2006, I was evaluating existing XML parsers to parse large COLLADA files quickly and nothing fit the bill; existing DOM parsers were very slow and often cumbersome to use, existing SAX parsers required a tricky parsing flow for documents with many internal references with unspecified order. The most promising…

pugixml 1.15 release

pugixml-1.15 is out. This is a maintenance release that adds support for std::string_view along with compatibility improvements (read the changelog for details). Highlights for this release include: Many xml_attribute:: and xml_node:: functions now transparently support std::string_view and std::string when C++17 support is detected. You can download the source package or get the new version from…

pugixml 1.14 release

pugixml-1.14 is out. This is a maintenance release that adds several minor features (read the changelog for details). Highlights for this release include: xml_attribute::set_name and xml_node::set_name now have overloads that accept pointer to non-null-terminated string and size Implement parse_merge_pcdata parsing mode in which PCDATA contents is merged into a single node when original document…

pugixml 1.13 release

pugixml-1.13 is out. This is a maintenance release that fixes several issues (read the changelog for details). Highlights for this release include: xml_attribute::set_value, xml_node::set_value and xml_text::set now have overloads that accept pointer to non-null-terminated string and size Fix error handling in xml_document::save_file that could result in the function succeeding while running out…

pugixml 1.12 release

pugixml-1.12 is out. This is a maintenance release that fixes some compatibility issues and other minor bugs (read the changelog for details). Highlights for this release include: Fix xml_document move construction (for C++11) and xml_node iterator signatures (for C++20) Add support for VS2022 Reorganize CMake settings to have PUGIXML_ prefix and allow more configuration via CMake options, like…

pugixml 1.11 release

pugixml-1.11 is out. This is a maintenance release that fixes some compatibility issues and introduces several new APIs (read the changelog for details). Highlights for this release include: Add xml_node::remove_attributes and xml_node::remove_children Add a way to customize floating point precision via xml_attribute::set and xml_text::set overloads XPath parser now limits recursion depth which…

pugixml 1.10 release

pugixml-1.10 is out. This is a maintenance release that fixes some compatibility issues and introduces several formatting features (read the changelog for details). Highlights for this release include: XPath union operation now is ~2x faster to compute and results in a stable order that doesn’t depend on pointer order Add format_skip_control_chars formatting flag to skip non-printable ASCII…

pugixml 1.9 release

pugixml-1.9 is out. This is a maintenance release that fixes some compatibility issues and introduces several features (read the changelog for details). Highlights for this release include: Added move semantics support for xml_document XPath parser no longer relies on exceptional control flow/longjmp in absence of exceptions xpath_exception is still used to communicate errors when exceptions are…

pugixml 1.8 release

pugixml-1.8 is out. This is a maintenance release that fixes some compatibility issues and introduces several features (read the changelog for details). Highlights for this release include: Added parse_embed_pcdata parsing mode to reduce memory consumption for some documents Added Latin-1 auto-detection support When printing empty elements, a space is no longer added before / in format_raw mode…

pugixml 1.7 release

pugixml-1.7 is out. This is a major release that focuses on performance and memory improvements along with several bug fixes (read the changelog for details). Highlights for this release include: Introduced a new compact tree storage mode that takes significantly less memory (2-5x smaller DOM) at some performance cost New integer parsing/formatting implementation (3-5x faster at getting/setting…

pugixml 1.6 release

pugixml-1.6 is out. This is a maintenance release that fixes several bugs (read the changelog for details). Highlights for this release include: Fixed translate and normalize-space XPath functions to no longer return internal NUL characters Fixed buffer overrun on malformed comments inside DOCTYPE sections Attribute/text values now use more digits when printing floating point numbers to guarantee…

pugixml 1.5 release

pugixml-1.5 is out. This is a major release focused on performance improvements that also has some new features and compatibility improvements (read the changelog for details). Highlights for this release include: Implemented efficient moving of nodes within the same document Optimized parsing (10-40% faster with clang/GCC, 10% faster with MSVC) Optimized node copying (stackless, shares string…

pugixml moves to GitHub

pugixml project used to be hosted on Google Code since time immemorial. About a year ago the active development switched to Git but the Subversion repository on Google Code was still maintained via svn-git and the primary way to report issues was via Issue Tracker on Google Code. Since Google disabled the downloads feature on Google Code, pugixml releases are hosted on github anyway; also git-svn…

pugixml 1.4 release

pugixml-1.4 is finally out. This is a major release with several new features and compatibility improvements (read the changelog for details). Highlights for this release include: Improved validation of documents without element nodes More parsing options (parse_fragment flag to parse XML document fragments, parse_trim_pcdata flag to remove leading/trailing whitespace) Better integer support for…

pugixml 1.2 release

pugixml-1.2 is finally out. This is a major release with lots of new features and compatibility improvements (read the changelog for details). Highlights for this release include: New optional header-only compilation mode that does not require compiling pugixml sources and can improve performance for certain applications due to inlining Enhanced interface for PCDATA manipulation using an xml_text…

pugixml 1.0 release

pugixml-1.0 is out. This is a major release with lots of fixes/improvements (read the changelog for details). The most important changes are: XPath implementation was considerably improved – variable support was added, exceptions and STL are no longer required for XPath to function, query evaluation performance was improved and several bugs were fixed. All deprecated functions and types were…

New project site

pugixml now has a new home, pugixml.org . This site acts as a frontend for all pugixml-related stuff (downloads, documentation, support and other information). Additionally, there is a news feed, which you can subscribe to via RSS . All downloads, documentation, Subversion repository and issue tracker are still hosted at Google Code; the existing links still work, and this is not going to change.

pugixml 0.9 release

pugixml-0.9 is out. This is a major release with lots of fixes/improvements (read the changelog for the details). The most important changes are: Unicode support is completely reworked: now pugixml can be configured to use wchar_t instead of char for all string-based interfaces; also encoding conversion is performed during parsing/saving (with automatic encoding detection). All popular Unicode…