2009-04-23 8 views
1

Je suis un retardataire de XML - devez analyser un fichier XML. Notre société utilise déjà xerces, j'ai donc réussi à assembler un exemple d'application (SAX) qui affiche toutes les données dans un fichier. Cependant, une fois l'analyse terminée, je m'attendais à pouvoir appeler l'analyseur ou une autre entité qui avait une représentation interne du fichier et parcourir les champs/données. Fondamentalement, je veux être en mesure de lui remettre une clé ou une autre chaîne (s) et récupérer des chaînes ou des collections de paires clé/valeur. Je ne vois pas ça. Il me semble assez évident que c'est une bonne chose à faire. Est-ce que je manque quelque chose?Obtenir des données XML à partir de Xerces (C++)

Est-ce que le DOM analyse ce que je veux, ou est-ce que ça tombe aussi court?

Répondre

4

Xerces fournit à la fois le traitement SAX et DOM. L'analyse syntaxique SAX ne construit pas de modèle, donc une fois l'analyse terminée, il n'y a rien à examiner ou à parcourir. Le traitement DOM produit un modèle arborescente qui vous donne ce que vous voulez.

+0

DOH! J'ai choisi les mauvais échantillons de code à copier. Merci – Tim

+0

un modèle est exactement ce que je veux (et ce que je m'attendais) – Tim

2

Si vous utilisez le XercesDOMParser, il n'y a toujours aucun moyen de demander une paire de valeurs clé spécifique après que le document est analysé. J'ai récemment rencontré le même problème et lors de l'itération de l'arborescence DOM, j'ai stocké toutes les paires de valeurs clés dans une carte STL. Vous pouvez ensuite demander des paires de valeurs clés à partir de la carte plus tard dans le programme.

Questions connexes