TouchXML - objet CXMLDocument Échec de l'initialisation
-
22-09-2019 - |
Question
Je suis coincé avec un code de TouchXML. S'il vous plaît aider.
Je le code suivant pour obtenir les données à partir d'un xml webservice:
NSData *urlData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
NSString *data = [[NSString alloc] initWithData:urlData encoding:NSUTF8StringEncoding];
NSLog(@"String data: %@ \n", data);
//Do the parsing
CXMLDocument *document = [[[CXMLDocument alloc] initWithData:urlData encoding:NSUTF8StringEncoding options:0 error:&error] autorelease];
NSLog (@"Document :%@ \n",[document stringValue]);
Les données de chaîne a le contenu du service, mais comment se fait l'objet CXMLDocument ne contient rien? Quelqu'un peut-il me dire pourquoi?
2009-12-30 18:21:59.467 MyAdvancedBlog[3425:207] String data: <?xml version="1.0" encoding="utf-8"?>
<Post xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://tempuri.org/">
<IdPostazione>42</IdPostazione>
<StringID>HOANG</StringID>
<Name>CASSA2</Name>
<TerminalValid>true</TerminalValid>
<NeedSession>false</NeedSession>
</Post>
2009-12-30 18:21:59.469 MyAdvancedBlog[3425:207] Document :(null)
La solution
documentation de TouchXML dit que CXMLDocument
devrait agir comme NSXMLDocument
. Ainsi, le référence pour initWithData:options:error:
pourrait aider
Il dit que le résultat sera nil
si elle est infructueuse, et error
alors contenir plus d'informations. Est-il nil
?
Vous pouvez envisager d'utiliser NSXMLDocument
pour le moment, et voir s'ils vraiment agissent de la même. Si elles ne le font pas, déposer un bug avec TouchXML.
Vous pouvez également utiliser initWithXMLString:options:error:
avec cette chaîne vous avez déjà décodé
Edit: Mieux encore. Voici exemple de code pour l'utilisation NSXMLDocument
. En théorie, cela devrait fonctionner pour CXMLDocument
ainsi.