pugixml 1.16









Den 16 juni, efter nĂ€stan ett och ett halvt Ă„rs utveckling, slĂ€pptes version 1.16 pugixml — ett snabbt, plattformsoberoende bibliotek för parsning och bearbetning av XML (MIT-licens).

Biblioteket erbjuder ett DOM-liknande grÀnssnitt med funktioner för att traversera och modifiera dokumentets noder. XPath 1.0 stöds ocksÄ tillsammans med fullstÀndig Unicode-stöd (UTF-8, UTF-16 (BE/LE), UTF-32 (BE/LE) och UCS-2), med automatisk kodningskonvertering.

Det stöder anvÀndning utan standardbibliotek och C++-undantag, samt ett "endast headerfiler"-lÀge.

Detta Ă€r ett jubileumslĂ€pp – i Ă„r fyller projektet 20 Ă„r! Mer om bibliotekets historia och utveckling kan lĂ€sas pĂ„ pugixml.org, GitHub eller i den första versionen av nyheten.

  • Ändringar i beteende
    • element med ett tomt barn-element PCDATA kommer nu att visas med tomma taggar (om inte parametern format_no_empty_element_tags anvĂ€nds).
  • FörbĂ€ttringar
    • tillagd PUGIXML_CHARCONV_FLOAT-alternativet för att konvertera flyttal, med hjĂ€lp av ; detta krĂ€ver C++17, vilket gör konverteringarna oberoende av lokal och kan förbĂ€ttra prestanda;
    • funktionerna xml_node::ensure_child och xml_node::ensure_attribute har lagts till, som returnerar ett barn-element eller attribut med angivet namn, som lĂ€ggs till om det saknas;
    • förbĂ€ttrad prestanda för att söka noder och attribut efter namn;
    • laddning av dokument frĂ„n en tom buffer leder inte lĂ€ngre till minnesallokering.
  • FörbĂ€ttringar av XPath
    • förbĂ€ttrad prestanda för frĂ„gor som berĂ€knar eller jĂ€mför attributvĂ€rden, som @attr > 5;
    • förbĂ€ttrad prestanda för frĂ„gor som vĂ€ljer noder och attribut efter namn.
  • Buggfixar
    • fixad stacköverflöd vid borttagning av undertrĂ€d med mycket djup inbĂ€ddning;
    • fixade heltalsöverflöden som kunde orsaka krascher vid laddning av mycket stora (> 1GB) dokument pĂ„ 32-bitars plattformar i PUGIXML_WCHAR_MODE;
    • fixad nullpekare avmaskering vid kopiering av xpath_variable_set-objekt med strĂ€ngvariabler som har icke tilldelade vĂ€rden.
  • FörbĂ€ttringar av CMake-stöd
    • förbĂ€ttrat stöd för alternativet PUGIXML_BUILD_APPLE_FRAMEWORK;
    • lagt till CMake-alternativet PUGIXML_INSTALL_SOURCE för att installera pugixml.cpp (nyttigt vid arbete i "endast headerfiler"-lĂ€ge).
  • FörbĂ€ttringar av kompatibilitet
    • projektfiler och NuGet-paket för Visual Studio 2026 har lagts till;
    • kompatibilitetsproblem med C++20-moduler har Ă„tgĂ€rdats nĂ€r pugixml.hpp-filen inkluderas i globala modulfragmentet;
    • varningar frĂ„n Clang och GCC -Wextra-semi-stmt, -Wsign-conversion och -Wuninitialized (GCC 16) har Ă„tgĂ€rdats;
    • kompileringsefelet med Embarcadero C++ XE5 har Ă„tgĂ€rdats;
    • flera falska positiva i statisk analys har Ă„tgĂ€rdats.

KĂ€lla: linux.org.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster