iOS:TouchXML xmlReadMemory VS xmlParseMemory

时间:2012-05-16 15:32:56

标签: ios xml xcode soap touchxml

我尝试使用2种不同的TouchXML实现,一种是SudzC,另一种是TouchXML github repo。 它们之间有一点区别,包括初始化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版本

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

问题出在输出中,导致查询GitHub版本的rootElement时返回“soap:Envelope”,SudzC版本返回“Envelope”。

请您解释一下为什么我会得到不同版本的输出?如何在GitHub版本中获得没有“soap:”前缀的输出?

提前致谢。我希望我已经提供了足够的信息。

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,我发现它与TouchXML版本的差异有关。 GitHub版本包含解析实现的前缀,而SudzC版本则不包含。

相关问题