|ReleasedLast Release||Feb 2018|
Maintained by Chris Ballinger.
|LOCLines of Code||2,887|
KissXML provides a drop-in replacement for Apple's NSXML class culster in environments without NSXML (e.g. iOS).
It is implemented atop the defacto libxml2 C library, which comes pre-installed on Mac & iOS. But it shields you from all the nasty low-level C pointers and malloc's, and provides an easy-to-use Objective-C library.
It is designed for speed and reliability, so it's read-access thread-safe and will "just-work". That is, KissXML provides an API that follows "what-you-would-expect" rules from an Objective-C library. So feel free to do things like parallel processing of an xml document using blocks. It will "just work" so you can get back to designing the rest of your app.
KissXML is a mature library used in thousands of products. It's also used in other libraries, such as XMPPFramework (an objective-c library for real-time xml streaming). It's even used in hospital applications.
KissXML was inspired by the TouchXML project, but was created to add full support for generating XML as well as supporting the entire NSXML API.
The minimum deployment target is iOS 8.0 / macOS 10.9 / tvOS 9.0 / watchOS 2.0.
SwiftNSXMLsubspec. Added test for static library integration.
libxml_modulesubspec by removing references to libxml in public headers. Added Obj-C generics and nullability support to match NSXML API. Added watchOS support. Minimum iOS version is now 8.0.
DDXML_NS_DECLARATIONS_ENABLEDto allow for better Swift compatibility. Added
DDXML.swiftwith mappings between NSXML classes and constants and DDXML.
DDXML_LIBXML_MODULE_ENABLEDmacro. You can use the
KissXML/libxml_moduleCocoaPods subspec to enable this feature.