XML parsing in K-3D is handled by a set of classes and non-member functions in k3d::xml namespace, declared in k3dsdk/xml.h and defined in k3dsdk/xml.cpp. k3d::xml is designed to provide a DOM-like view of an XML document (i.e. the entire document is loaded into memory as a hierarchical tree), but with better integration with the C++ Standard Library, and more efficient than other DOM implementations. In testing k3d::xml has been shown to parse documents two orders of magnitude faster than MSXML, consuming an order of magnitude less memory to store the document tree.
k3d::xml does not handle its own parsing; as of this writing it can use either expat or libxml2 as the parsing back-end.