Lecture d'un document XML

TchouboudouTchouboudou Membre
00:24 modifié dans API AppKit #1
Bonjour tout le monde...

J'ai quelques petite question :

1) Avec quel classe dois-je lire un document XML du style <noeud>XML Different Des Plist</noeud> ?
2) Si je dois utiliser un NSXMLDocument, NSXMLElement et NSXMLNode, comment je peux lire l'intérieur d'un noeud ?
3) Si j'ai plusieurs noeud avec le même nom, dois-je utiliser NSEnumerator ?

Merci d'avance,
Tchouboudou

Réponses

  • BruBru Membre
    00:24 modifié #2
    Une petite recherche sur ce forum t'aurait permis de trouver ce sujet sur les documents xml.
    (la partie concernant la lecture commence en seconde page).

    .
  • TchouboudouTchouboudou Membre
    00:24 modifié #3
    J'avais lu vite fait, mais je vais m'y attarder un peu plus ;)
  • laurrislaurris Membre
    00:24 modifié #4
    1/ La réponse est dans ta question 2 ! : NSXMLDocument et son initialiseur ad hoc.
    2/ Pour lire la valeur d'un noeud, il y a à  ma connaissance 2 méthodes: soit avec NSXMLElement (sous-classe de NSXMLNode) qui permet de parcourir l'arbre de branches en branches: à  partir du parent, ou de l'enfant, ou du nom, etc ...
    Mais si tu veux récupérer un noeud situé plus profondémment dans l'arbre, tu peux utiliser le language XPath. Dans ce cas il faut utiliser une méthode de NSXMLNode (donc valable aussi pour un NSXMLElement): nodesWithXPath:
    Dans ce cas tu obtiens un NSArray d'où il faut extraire le noeud.
    Dans tous les cas, pour obtenir la valeur string d'un noeud c'est: stringValue. objectValue marche aussi mais je ne me souviens plus exactement s'il interprète les valeurs numériques comme on pourrait s'y attendre ... à  voir.
    Sinon, si tu veux obtenir le string d'un noeud, avec éventuellement tous ses marmots, c'est XMLString qu'il te faut.

    3/ Oui. Sachant qu'avec XPath tu peux identifier un noeud par sa position donc obtenir directement le noeud voulu parmi plusieurs noeuds homonymes.
  • TchouboudouTchouboudou Membre
    00:24 modifié #5
    Et sans Xpath, la 3 c'est possible quand même ?
  • laurrislaurris Membre
    00:24 modifié #6
    C'est possible de faire quoi ?
    Si tu as un NSArray de noeuds, tu peux les énumérer avec un NSEnumerator, ça oui, c'est même fait pour !
    Il faudrait que tu précise un peu ta question pasque je vois pas bien le problème.
    Si ta question est: est-ce que l'ordre des noeuds est respecté quand on obtient un NSArray de NSXMLNodes, je pense que la réponse est oui. Mais à  vérifier dans la doc.
  • TchouboudouTchouboudou Membre
    00:24 modifié #7
    Bon, j'ai trouvé mon bonheur avec le lien de Bru.

    Merci beaucoup tout le monde...
Connectez-vous ou Inscrivez-vous pour répondre.