dXml is an iPhone static library providing xml parsing into document models, XPath expressions, xml messaging to/from servers SOAP messaging to/from web service providers and SOAP fault handling.
It was written because I wanted to be able to talk to some SOAP based web services and found no support within the Apple SDK apart from the NSXMLParser class.
Currently it provides the following features:
A quick example
To give you an idea of how simple dXml makes working with SOAP, here is a quick example which does the following:
You can cut and past this into a file and run it using GH-Unit.
This is a very simple example. More typically you would be parsing the xml string into a document and then setting values first. Also note that whilst not obvious, dXml is parsing the response from the web service into it’s own document model and storing it inside the response object. Another point of interest is the error handling. Very simple here, but usually you would use methods from a category dXml applies to the NSError class which can tell you if there is a SOAP fault and provide the data from it.
If you just want to use the static library then there are no dependencies.
If you wish to compile the code then you will need the following APIs:
Appledoc runs and reads the output from doxygen, then reprocesses it to give it a more “Apple like” apperance before installing your api documentation as a docset in xcode.
GH-Unit is a JUnit style unit testing framework for iPhone applications. The advantages of it over the sen testing framework that comes with xcode is that it runs on the simulator, allows full debugging and is dead simple to use.
OCMock is a mocking framework very much like the java EasyMock framework. It’s a very useful tool for “simulating” instances of classes when testing.
Please refer to the Building dXml page for details on building dXml.
dXml home Downloading Installing into Xcode
Creating documents Manipulating documents XPath queries Messaging URLs Messaging web services Error handling
Building dXmlBSD License