I have an XML structure that looks like:
<Succeeded p1:type="Edm.Boolean" xmlns:p1="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices">false</Succeeded>
Since I need to be able to get the p1:type="Edm.Boolean" attribute and the namespace prefix may be different depending on several forces beyond my control. I need to figure out how to get the prefix from the namespace URI programmatically.
I have implemented the parser:didStartMappingPrefix:toURI: and parser:didEndMappingPrefix: delegate methods, and though I have set setShouldProcessNamespaces to YES, they do not get called.
I am new to NSXMLParser, but not to iOS nor XML. Any direction on how I should go about this would be greatly appreciated.
In addition to implementing the delegate methods and calling
setShouldProcessNamespaces:YES,setShouldReportNamespacePrefixes:YESshould also be called.This change will cause both “prefix” protocol methods to be called. There you can capture the namespace URI and prefix and use them as needed.