J'essaie de comprendre comment utiliser SAX et j'ai pensé qu'un bon point de départ était l'exemple de TopSongs trouvé sur le iPhone Dev Center. J'en profite pour la plupart, mais quand il s'agit d'atteindre des Attributs et des Valeurs dans un nœud, je ne peux trouver un bon exemple nulle part. Le XML a un chemin vers une URL pour le coverArt. Et le noeud XML ressemble à ceci.Comment analyser avec SAX en utilisant Attributs & Valeurs à un chemin d'URL en utilisant iPhone SDK?
<itms:coverArt height="60" width="60">http://a1.phobos.apple.com/us/r1000/026/Music/aa/aa/27/mzi.pbxnbfvw.60x60-50.jpg</itms:coverArt>
Ce que j'ai essayé est-ce pour le startElement ...
((prefix != NULL && !strncmp((const char *)prefix, kName_Itms, kLength_Itms)) &&
(!strncmp((const char *)localname, kName_CoverArt, kLength_Item) &&
!strncmp((const char *)attributes, kAttributeName_CoverArt, kAttributeLength_CoverArt) &&
!strncmp((const char *)attributes, kValueName_CoverArt, kValueLength_CoverArt) ||
!strncmp((const char *)localname, kName_Artist, kLength_Artist) ||
et le ramasser à nouveau avec juste la localname à la fin comme celui-ci.
if (!strncmp((const char *)localname, kName_CoverArt, kLength_CoverArt)) { importer.currentSong.coverArt = [NSURL URLWithString:importer.currentString];
La trace est - [Song setCoverArt:]: sélecteur non reconnu envoyé à l'instance.
Merci pour votre suggestion, Il suit la même structure que les autres nœuds qui sont définis comme étant @dynamic dans la classe Song. Mais je pense que vous avez raison de ne pas ajouter correctement au modèle de données. J'ai depuis essayé d'ajouter juste un autre noeud sans attributs et il a produit le même résultat d'erreur. – Jim
Je n'avais pas ajouté le nouvel attribut au fichier de modèle de données qui est ce qui a jeté l'erreur. Maintenant, je n'ai pas l'erreur mais je ne reçois pas les données. Il doit donc y avoir quelque chose qui manque à la structure ci-dessus. – Jim
Je peux atteindre les données sous la forme d'une chaîne avec un seul appel sur le nœud, mais le problème est qu'il existe trois nœuds pour différentes tailles d'image. Donc je dois encore savoir comment atteindre les autres. – Jim