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

XML Discussion :

[Xerces] Caractères spéciaux


Sujet :

XML

  1. #1
    Membre du Club
    Inscrit en
    Juin 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 8
    Par défaut [Xerces] Caractères spéciaux
    SAlut tout le monde

    Je crée un Fichier xml a l'aide de l'api xerces , alors le problème c'est que dans mon text il y a des caractères spéciaux telle que ( < > ') ; alors quand j'utiliser

    XMLString::transcode(MyString, xmltemp, 1000)

    et quand j'ajoute tout ce dans ma Noeud , le résultat c'est que le caractère < devient &lt; ......

    est ce qu'il y a une méthode pour que le caractére ne change pas??

    Merci d'avance pour vos réponse

  2. #2
    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,

    A part le mettre dans un CDATA sinon je ne vois pas.

    MAT.

  3. #3
    Membre du Club
    Inscrit en
    Juin 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 8
    Par défaut
    Merci Pour ta réponse

    mais Le problème c'est que je ne peux as utiliser le CDATA, puisque cette dernière créer une balise ![CDATA]

    Alors ce que je veux c'est que la chaine que je reçois contiens des balises
    par exp:

    <balise>test</balise>....

    Alors quand j'ajouterai cette chaine dans la balise mère , elle doit rester écrite de la même façon, pour qu'il soit elle même une nouvelle balise.


    J'espère que cette fois-ci, j'ai bien expliquer mon problème

  4. #4
    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
    Ah, il faut créer noeud alors.
    Donc par exemple construire un document avec le morceau de XML que tu reçois puis rattacher le contenu à ton document principal.

    MAT.

  5. #5
    Membre du Club
    Inscrit en
    Juin 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 8
    Par défaut
    Normalement c'est ce que je fait


    je crée une balise <contenus></contenus>

    et dans cette balise j'ajoute ma string

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    CString	root = "contenus";
    XMLString::transcode(root, xmlChTemp, (len- 1));
    xmlDoc = xmlImpl->createDocument(0, xmlChTemp, 0);
    DOMElement* root = xmlDoc->getDocumentElement();
     
    XMLString::transcode(strValue, xmlChTemp, (len - 1));
    DOMText* txtNode = xmlDoc->createTextNode(xmlChTemp);
    root ->appendChild(txtNode );
    sachant que strValue contiens une valeur comme suit "<balise>test1</balise><balise>test2</balise>"

  6. #6
    Membre du Club
    Inscrit en
    Juin 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 8
    Par défaut
    Alors quand je fait ça, voilà le résultat que j'obtiens

    <contenus>&lt;balise&gt;test1&lt;/balise&gt;&lt;balise&gt;test2&lt;/balise&gt;</contenus>

  7. #7
    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
    Je suggérais de créer un document à partir de strValue et d'en copier les nœuds dans le document principal.

    MAT.

  8. #8
    Membre du Club
    Inscrit en
    Juin 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 8
    Par défaut
    ça veux dire , créer tout le fichier dans ma string et après je la copier dans le Document??

    si c'est comme ça, comment je peux juste copier ma string dans le document??


    Merci pour tout tes réponse Mat

  9. #9
    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
    Citation Envoyé par K.WIKI Voir le message
    ça veux dire , créer tout le fichier dans ma string et après je la copier dans le Document??
    Je ne comprends pas ce que tu veux dire.

    Tu prends strValue et tu fais comme si c'était un document XML à lui tout seul : tu le transformes en DOMDocument.
    Ensuite tu prend le noeud racine de ce document et tu le déplaces/copies dans ton document principal.

    Citation Envoyé par K.WIKI Voir le message
    si c'est comme ça, comment je peux juste copier ma string dans le document??
    Je ne pense pas que ça soit possible directement.

    MAT.

  10. #10
    Membre du Club
    Inscrit en
    Juin 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 8
    Par défaut
    Salut Mat007; Merci pour ton Suivie en cours de mes recherches

    Après bc de recherche et de teste , j'ai arrivé a trouvé le bon voix et J'espère que ça aidera les débutants comme moi


    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
    36
    37
    38
    39
    40
     
    	DOMBuilder* parser = ((DOMImplementationLS*)m_xmlImpl)->createDOMBuilder(DOMImplementationLS::MODE_SYNCHRONOUS, 0);
    	const char* gXMLInMemBuf = m_strValue;
     
    	MemoryManager* Manager = XMLPlatformUtils::fgMemoryManager;
        MemBufInputSource* memBufIS = new MemBufInputSource((const XMLByte*)gXMLInMemBuf, strlen(gXMLInMemBuf), "test", false,Manager );
     
    	Wrapper4InputSource *InputSource= new Wrapper4InputSource (memBufIS,false);
     
    	domdoc = parser->parse(*InputSource);
     
    	XMLCh tempStr[LENGTH_TEMPORAL_STRING];
     
    	CString	strNomRuta = "RecCmd";
    	XMLString::transcode(strNomRuta, m_xmlChTempStr, (LENGTH_TEMPORAL_STRING_3 - 1));
    	m_xmlDoc = m_xmlImpl->createDocument(0, m_xmlChTempStr, 0);
    	DOMElement* RecCmd = m_xmlDoc->getDocumentElement();
     
    	XMLString::transcode("version", m_xmlChTempStr, (LENGTH_TEMPORAL_STRING_3 - 1));
    	XMLString::transcode(VERSIO_XML_REC_CMD, tempStr, (LENGTH_TEMPORAL_STRING_3 - 1));
    	DOMAttr* attr = m_xmlDoc->createAttribute(m_xmlChTempStr);
    	attr->setValue(tempStr);
    	RecCmd->setAttributeNode(attr);
     
    	DOMNode* domnode = domdoc->getDocumentElement();
    	DOMNode* newRoot = m_xmlDoc->importNode(domnode, true);
     
    	DOMNodeList * ListNodes = newRoot->getChildNodes();
    	XMLSize_t NbrCount = ListNodes->getLength();	
     
    	DOMNode* TheNode = NULL;
    		for(XMLSize_t i =0; i<NbrCount ;i++)
    		{
     
    				TheNode = ListNodes->item(0);
    				if(TheNode!=NULL)
    				{
    					m_xmlDoc->getDocumentElement()->appendChild(TheNode);
    				}
    		}

Discussions similaires

  1. caractères spéciaux
    Par mat10000 dans le forum Flash
    Réponses: 16
    Dernier message: 23/10/2003, 13h22
  2. Où trouver la liste des caractères spéciaux?
    Par gamez dans le forum Langage
    Réponses: 3
    Dernier message: 19/08/2003, 17h54
  3. Transformation XSL et caractères spéciaux
    Par Sylvain Leray dans le forum XMLRAD
    Réponses: 4
    Dernier message: 28/04/2003, 10h38
  4. [Sybase] filtre sur caractères spéciaux
    Par montelieri dans le forum Sybase
    Réponses: 4
    Dernier message: 07/04/2003, 16h49
  5. Traiter les caractères spéciaux
    Par ricola dans le forum Langage
    Réponses: 2
    Dernier message: 20/02/2003, 09h23

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