0

TouchXMLの2つの異なる実装を使用しようとしました。1つはSudzCで提供され、もう1つはTouchXMLgithubリポジトリから提供されています。それらの間には少し違いがあり、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:」プレフィックスなしの出力を取得する方法を説明してください。

前もって感謝します。十分な情報を提供できたと思います。

4

1 に答える 1

1

私は同じ問題に直面し、それがTouchXMLバージョンの違いに関連していることを理解しました。GitHubバージョンには実装を解析するプレフィックスが含まれていますが、SudzCバージョンには含まれていません。

于 2012-12-08T19:16:40.993 に答える