J'utilise TFHpple (qui utilise XPath) pour analyser un document HTML. Je peux obtenir le contenu de divers nœuds, etc. Mais le code que j'ai trouvé sur GitHub semble incomplet. Il a une méthode pour obtenir les attributs d'un noeud mais le tableau enfant. Alors j'en ai écrit un et j'ai échoué. Les deux méthodes "attributs" ci-dessous fonctionnent bien. Fondamentalement, je voudrais obtenir le tableau enfant comme un nouveau noeud. Je pense que j'échoue au niveau NSDictionary. J'ai essayé de faire un nouveau TFHppleElement de ce que je retourne dans "les enfants" ci-dessous mais ... FAIL! Des indices?Comment obtenez-vous les attributs d'un tableau enfant en utilisant TFHpple?
C'est de TFHppleElement.m:
- (NSDictionary *) attributesForNode: (NSDictionary *) myNode
{
NSMutableDictionary *translatedAttributes = [NSMutableDictionary dictionary];
for (NSDictionary *attributeDict in [myNode objectForKey: TFHppleNodeAttributeArrayKey])
{
//NSLog(@"attributeDict: %@", attributeDict);
[translatedAttributes setObject: [attributeDict objectForKey: TFHppleNodeContentKey]
forKey: [attributeDict objectForKey: TFHppleNodeAttributeNameKey]];
}
return translatedAttributes;
}
- (NSDictionary *) attributes
{
return [self attributesForNode: node];
}
- (BOOL) hasChildren
{
return [node objectForKey: TFHppleNodeChildArrayKey] != nil;
}
- (NSDictionary *) children
{
NSMutableDictionary *translatedChildren = [NSMutableDictionary dictionary];
for (NSDictionary *childDict in [node objectForKey: TFHppleNodeChildArrayKey])
{
[translatedChildren setObject: childDict
forKey: [childDict objectForKey: TFHppleNodeNameKey]];
}
return [node objectForKey: TFHppleNodeChildArrayKey];
}
Où se trouve la question liée à l'expression XPath? –
TFHpple utilise XPath pour effectuer l'analyse HTML initiale. Si vous l'avez utilisé, vous savez que vous pouvez obtenir le contenu, le nom et les attributs d'un nœud. Je veux le tableau des enfants. Ma tentative échoue. Heureusement, quelqu'un en sait assez sur TFHpple (et NSDictionaries/Obj-C) pour voir pourquoi la méthode de mes enfants ne fonctionne pas. –