#7 new
mklaurence (at gmail)

[feature] Open up serialization type (specifically, add XML processing)

Reported by mklaurence (at gmail) | March 6th, 2010 @ 07:51 PM

What's the most efficient iPhone XML processor?

Comments and changes to this ticket

  • Mark Lussier

    Mark Lussier March 10th, 2010 @ 07:47 PM

    I would love to see XML support as well as I would love to replace my code in iPivotal. Good comparison is here http://www.71squared.com/2009/05/processing-xml-on-the-iphone/

  • mklaurence (at gmail)

    mklaurence (at gmail) March 11th, 2010 @ 07:48 AM

    Glad to hear you're interested! The more APIs I look at the more I realize how prevalent XML is (even if I personally prefer JSON by a large margin...) I'm going to do some "case studies" soon in order to get a better comparative picture, at which point I'll probably refactor like crazy and then start in on the XML (I really don't see it being too onerous; honestly, I can probably just write the serialization myself and not worry about some crazy obj-c DOM builder.)

    I'll check out the libraries mentioned in that article, too - thanks for the tip!

  • Mark Lussier

    Mark Lussier March 11th, 2010 @ 07:56 PM

    I forked the project this morning myself to have a look at what it will take.

  • mklaurence (at gmail)

    mklaurence (at gmail) March 11th, 2010 @ 08:04 PM


    I think the serialization/deserialization is going to need some hefty refactoring, probably into a separate serializer class (much like ActiveRecord's implementation). That way we don't have to pass around/reprocess parameters all the time, especially since it seems those parameters are going to grow in number. Also, I've been experiencing some serious CoreData-related performance issues, and after some time poring over Apple's documentation, it seems there are some alternate approaches to importing data that may greatly speed things up. I'm going to give it a go tonight and see what kind of performance savings I can find.

  • Isaac Kearse

    Isaac Kearse July 26th, 2010 @ 09:22 PM

    • Milestone order changed from “0” to “0”

    Hey Guys,

    I'm not particularly interested in using vanilla XML but I made a few changes to the code base that should make adding XML parsing a bit easier: http://github.com/isaac/CoreResource/commit/c8ca496639dfa73851b7b1a...

    I also added a basic plist deserializer here: http://github.com/isaac/CoreResource/commit/6ab6b0c474bbb1d271c57b6...

    There were a few other things I didn't touch that could maybe use some refactoring:

    1. The plist serializer parses the responseData rather than the responseString, so maybe a more generic method than resourcesFromString: would be good here.
    2. I cheated a little bit when generating the binary plist and collapsed some of the nesting that is handled by the JSON deserializer. I was thinking some of this logic could be abstracted out and exposed to all the deserializers.



Please Sign in or create a free account to add a new ticket.

With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.

New-ticket Create new ticket

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile ยป

Local & remote resource management library for Objective-C using Core Data with Rails-like syntax. WARNING: The API is currently under heavy development and will undoubtedly change.

Shared Ticket Bins