我尝试使用两个不同的TouchXML实现,一个是SudzC提供的,另一个是TouchXML github回购提供的。它们之间有一些差别,包括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]);问题在于输出,因为在查询rootElement的GitHub版本时,它会返回"soap:Envelope“,而SudzC版本则返回"Envelope”。
请您解释一下为什么我得到不同版本的输出,如何在GitHub版本中获得没有"soap:“前缀的输出?
提前谢谢。我希望我已经提供了足够的信息。
发布于 2012-12-08 19:16:40
我也面临过同样的问题,我发现这与TouchXML版本的不同有关。GitHub版本包含前缀解析实现,而SudzC版本不包含。
https://stackoverflow.com/questions/10621842
复制相似问题