IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

xerces-c et pobleme de programmation


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    32
    D�tails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 32
    Par d�faut xerces-c et pobleme de programmation
    voila mon code :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    XMLPlatformUtils::Initialize();
    XercesDOMParser *parser = new XercesDOMParser;
    parser->parse("/home/jalel/ski.xmt");
    DOMElement *repertoire = parser->getDocument()->getDocumentElement();
    DOMNodeList *Transform = repertoire->getElementsByTagName(XMLString::transcode("Transform"));
    //cout<<"le nombre de noeuds trasform est "<<Transform->getLength()<<endl;
    DOMNodeList  *Material=repertoire->getElementsByTagName(XMLString::transcode("Material"));
    //cout<<"le nombre de noeud material est "<<Material->getLength()<<endl;
    XMLCh colorTab[Material->getLength()*2];
    //cout<<"le nom de la balise "<<repertoire->getNamespaceURI();
    int j=0;
    const XMLCh *xmlch(XMLString::transcode("Transform"));
    const XMLCh *Xml;
    DOMNamedNodeMap *e;
    cout<< "le nombre de noeud mat     "<<Material->getLength()<<endl;
          if (Transform->getLength()>0)
          {
    				for(int i=0;i<Material->getLength();i++)
    				{    
    					cout <<i<<endl;
    					DOMNode *st=Material->item(i)->getParentNode();cout<<"    "<<st;
    					//extraction du code RGB du coulueur de l'objet
    					Xml=st->getNodeName();
    					while( *xmlch != *Xml   )
    					{
    					st=st->getParentNode();
    					Xml=st->getNodeName();
    					cout<<*Xml<<"         "<<*xmlch<<"      "<<st<<endl;
    					}
    					e=st->getAttributes();//["diffuseColor"].InnerText;
    					cout<< e->getLength()<<endl;
    					colorTab[j+1]=*(e->getNamedItem(XMLString::transcode("diffuseColor"))->getTextContent());
    			        cout <<colorTab[j+1]<<endl;
    					j=j+2;
    				}
    mon probleme c'est que je veux lister toute les balises Material dans mon fichier et avoir son nom egalement ses attributs mais le probleme est cette instruction :
    colorTab[j+1]=*(e->getNamedItem(XMLString::transcode("diffuseColor"))->getTextContent());
    si je supprime cette instruction l'ex�cution donne plusieurs balises Material et avec cette instrction elle me donne une seule (en fait la premiere ) ?
    Que dois je faire ?

  2. #2
    R�dacteur

    Avatar de Davidbrcz
    Homme Profil pro
    Ing Supa�ro - Doctorant ONERA
    Inscrit en
    Juin 2006
    Messages
    2 307
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 33
    Localisation : Suisse

    Informations professionnelles :
    Activit� : Ing Supa�ro - Doctorant ONERA

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 307
    Par d�faut
    Bonjour, Merci tu connais ?
    "Never use brute force in fighting an exponential." (Andrei Alexandrescu)

    Mes articles dont Conseils divers sur le C++
    Une tr�s bonne doc sur le C++ (en) Why linux is better (fr)

  3. #3
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 294
    D�tails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 294
    Par d�faut
    Salut,

    Outre que ton code est un peu difficile � lire (d�clare les variables au moment de les utiliser tant qu'� faire) je me demande s'il n'y a pas un probl�me l� :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    XMLCh colorTab[Material->getLength()*2];
    ...
    colorTab[j+1]=*(e->getNamedItem(XMLString::transcode("diffuseColor"))->getTextContent());
    Donc mis � part que tu les stockes une case sur deux (pourquoi pas � la limite), ce code ne fonctionne que si 'diffuseColor' contient un seul caract�re.
    Si c'est toute une cha�ne, �a fait compl�tement n'importe quoi...

    MAT.

  4. #4
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    32
    D�tails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 32
    Par d�faut
    Citation Envoy� par Davidbrcz Voir le message
    Bonjour, Merci tu connais ?
    Merci pour quoi ?

  5. #5
    R�dacteur

    Avatar de Davidbrcz
    Homme Profil pro
    Ing Supa�ro - Doctorant ONERA
    Inscrit en
    Juin 2006
    Messages
    2 307
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 33
    Localisation : Suisse

    Informations professionnelles :
    Activit� : Ing Supa�ro - Doctorant ONERA

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 307
    Par d�faut
    Merci pour la futur aide qu'on pourrait te donner.
    "Never use brute force in fighting an exponential." (Andrei Alexandrescu)

    Mes articles dont Conseils divers sur le C++
    Une tr�s bonne doc sur le C++ (en) Why linux is better (fr)

  6. #6
    Membre habitu�
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    10
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 10
    Par d�faut merci
    et tu fais le tour des post o� les gens ne disent pas merci par avance ? merci d'avance pour ta r�ponse.

Discussions similaires

  1. Pobleme avec un programme
    Par kepon72 dans le forum G�n�ral Python
    R�ponses: 11
    Dernier message: 03/06/2009, 18h56
  2. Programme de boot qui passe la main � Windows
    Par Bob dans le forum Assembleur
    R�ponses: 7
    Dernier message: 25/11/2002, 03h08
  3. [Kylix] Probleme d'execution de programmes...
    Par yopziggy dans le forum EDI
    R�ponses: 19
    Dernier message: 03/05/2002, 14h50
  4. communication entre programmes
    Par j�r�me dans le forum C
    R�ponses: 12
    Dernier message: 16/04/2002, 08h05
  5. [Kylix] icone associ�e � un programme
    Par Anonymous dans le forum EDI
    R�ponses: 1
    Dernier message: 22/03/2002, 09h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo