0Day Forums
Minimal XML library for C++? - Printable Version

+- 0Day Forums (https://0day.red)
+-- Forum: Coding (https://0day.red/Forum-Coding)
+--- Forum: C & C++ (https://0day.red/Forum-C-C)
+--- Thread: Minimal XML library for C++? (/Thread-Minimal-XML-library-for-C)



Minimal XML library for C++? - aciniform323 - 07-27-2023

What XML libraries are out there, which are minimal, easy to use, come with little dependencies (ideally none), can be linked statically and come with a liberal license? So far, I've been a pretty happy user of [TinyXML][1], but I'm curious what alternatives I have missed so far.

[1]:

[To see links please register here]




RE: Minimal XML library for C++? - Abbye732994 - 07-27-2023

[expat](

[To see links please register here]

) is a very fast C XML parser (although a C++ wrapper exists) that's widely used in many open-source projects. If I remember correctly, it has very few dependencies, and it's licensed under the very liberal MIT License.


RE: Minimal XML library for C++? - scintillant854 - 07-27-2023

There's one called `libxml2`.

There's also a Windows-only solution, a COM library that's part of the O/S, called `msxml`.


RE: Minimal XML library for C++? - aliysaamsrusv - 07-27-2023

FWIW there is also a version of TinyXML with a more C++-like interface, called [ticpp][1].


[1]:

[To see links please register here]




RE: Minimal XML library for C++? - zippered862247 - 07-27-2023

In "[what’s the easiest way to generate xml in c++?][1]" I wrote [a comment that lists a few C++ XML libraries][2]

[TinyXML++ (ticpp)][3] was, IMHO, the most appropriate for a small, easy to use XML library in C++.


[1]:

[To see links please register here]

[2]:

[To see links please register here]

[3]:

[To see links please register here]




RE: Minimal XML library for C++? - sibyl274 - 07-27-2023

I recommend [rapidxml][1]. It's an order of magnitude smaller than tinyxml, and doesn't choke on doctypes like tinyxml does.

If you need entity support or anything advanced, forget about static linking and use expat or libxml2.

[1]:

[To see links please register here]