parser un fichier avec xerces
Bonjour, je voudrais parser un fichier xml avec xerces et en afficher les noeuds. Tout simple!!!
voici le fichier xml
Code:
1 2 3 4 5 6 7 8 9 10 11
|
<?xml version="1.0" encoding="iso-8859-1"?>
<personnel>
<person id="Big.Boss" >
<name><family>Boss</family> <given>Big</given></name>
</person>
<person id="one.worker">
<name><family>Worker</family> <given>One</given></name>
</person>
</personnel> |
Je fais donc qq chose comme cela:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
static const XMLCh gLS[] = { chLatin_L, chLatin_S, chNull };
DOMImplementation *impl = DOMImplementationRegistry::getDOMImplementation(gLS);
DOMBuilder *parser = ((DOMImplementationLS*)impl)->createDOMBuilder(/*DOMImplementationLS::MODE_SYNCHRONOUS*/0, 0);
DOMElement* racine = monDocDom->getDocumentElement();
XERCES_STD_QUALIFIER cout << "racine : " << XMLString::transcode(racine->getTagName()) << XERCES_STD_QUALIFIER endl;
DOMNodeList* maListeDeNoeuds = racine->getChildNodes();
XERCES_STD_QUALIFIER cout << "nombre de noeuds : " << maListeDeNoeuds->getLength() << XERCES_STD_QUALIFIER endl;
for(unsigned int i = 0; i< maListeDeNoeuds->getLength() ;i++)
{
XERCES_STD_QUALIFIER cout << "noeud " << i << " -> " << XMLString::transcode(maListeDeNoeuds->item(i)->getNodeName()) << "." << XERCES_STD_QUALIFIER endl;
} |
Le résultat affiché est le suivant:
Code:
1 2 3 4 5 6 7 8
|
racine : personnel
nombre de noeuds : 5
noeud 0 -> #text
noeud 1 -> person
noeud 2 -> #text
noeud 3 -> person
noeud 4 -> #text |
Voila, je tiens juste à remercier vivement celui qui pourra me dire d'ou sortent ces #text et comment je peux les supprimer..
Merci d'avance donc.
Seb