iOS: TouchXML xmlReadMemory VS xmlParseMemory

1.2k Views Asked by At

I tried to use 2 different implementations of TouchXML, one provided with SudzC and the other from TouchXML github repo. There is a little difference between them, consisting in the initialization of the CXMLDocument:

GitHub:

CFStringEncoding cfenc = CFStringConvertNSStringEncodingToEncoding(encoding);
CFStringRef cfencstr = CFStringConvertEncodingToIANACharSetName(cfenc);
const char *enc = CFStringGetCStringPtr(cfencstr, 0);
theDoc = htmlReadMemory([inData bytes], [inData length], NULL, enc, HTML_PARSE_NONET | HTML_PARSE_NOBLANKS | HTML_PARSE_NOWARNING);

SudzC version

theDoc = xmlParseMemory([inData bytes], [inData length]);

The problem is in the output, cause when querying the rootElement of the GitHub version it returns "soap:Envelope" and SudzC version returns "Envelope".

Could you please explain me why do I get different versions of output and how could I obtain in the GitHub version the output without "soap:" prefix?

Thanks in advance. I hope I have given enough information.

1

There are 1 best solutions below

0
Alex On BEST ANSWER

I've faced the same issue and I've figured out that it's connected to difference in TouchXML versions. GitHub version contains prefixes parsing implementation, while SudzC version doesn't.