Go Back   MacRumors Forums > Apple Systems and Services > Programming > iPhone/iPad Programming

Reply
 
Thread Tools Search this Thread Display Modes
Old Jul 16, 2008, 12:41 AM   #1
ace2600
macrumors member
 
Join Date: Mar 2008
Location: Austin, Texas
Using NSXMLNode, NSXMLElement, and NSXMLDocument?

I built my app for the device today and get errors around NSXMLNode, NSXMLElement, and NSXMLDocument. Those were recognized fine in the simulator. Any ideas?

Here is a post by someone else with a similar problem (but in the Mac Programming forum): http://forums.macrumors.com/showthread.php?t=506312
ace2600 is offline   0 Reply With Quote
Old Jul 16, 2008, 12:37 PM   #2
ace2600
Thread Starter
macrumors member
 
Join Date: Mar 2008
Location: Austin, Texas
So, these are not included in the final SDK. NSXMLDocument is considered too heavy.

This supposedly brings DOM support and XPath to XML in the iphone: http://code.google.com/p/touchcode/wiki/TouchXML.
ace2600 is offline   0 Reply With Quote
Old Jul 16, 2008, 12:55 PM   #3
phxbbrown
macrumors newbie
 
Join Date: Jun 2008
Location: Phoenix, AZ
TouchXML is pretty slick. I found it to be an adequate replacement for NSXMLDocument. It's read-only: there's no serialization behaviors defined. It uses libxml2, so it should be nice and quick.

Otherwise, the recent releases included NSXMLParser, which might work for you if you just need a forward-only XML reader. It uses callbacks to notify your app about parsing milestones as it goes through the document.

Bill
phxbbrown is offline   0 Reply With Quote
Old Jul 18, 2008, 02:31 PM   #4
fenrus110
macrumors regular
 
Join Date: Mar 2008
NSXMLParser seems like a pretty useless class to me.

All it seems to be is bunch of HARD CODED if-else statements of comparing the element names.

My app originally used NSXMLDocument to receive xml response data that I looped through to fill up some NSDictionary's so I could put them inside UITableView -> Detail view.

I pretty much need to loop through the entire xml data set, which has at least 50 elements. If I were to use NSXMLParser, would I be expected to write

if ([element name isEqualToString:@"firstname"] {
currentString = [NSMutableString string];
} else if ...

50 times for both "didStartEelement" and "didEndElement"? Sounds pretty ridiculous to me. Correct me if I'm wrong.
fenrus110 is offline   0 Reply With Quote
Old Jul 18, 2008, 09:10 PM   #5
DenNukem
macrumors member
 
Join Date: Jul 2008
Location: Seattle
You can use libxml2. That's what I do.
It's C only (not C++ or obj-c) so you have to manage memory carefully, but in return you get real DOM.
DenNukem is offline   0 Reply With Quote

Reply
MacRumors Forums > Apple Systems and Services > Programming > iPhone/iPad Programming

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Forum Jump

All times are GMT -5. The time now is 07:39 PM.

Mac Rumors | Mac | iPhone | iPhone Game Reviews | iPhone Apps

Mobile Version | Fixed | Fluid | Fluid HD
Copyright 2002-2013, MacRumors.com, LLC