Bonsoir,
je suis en train d'ecrire un soft en c++ sous vc2008, permettant de gerer un fichier xml.
je suis capable de lire les differents noeuds et aussi de les ecrire; mais lors de la creation d'un noeud enfant la mise en forme et mal faite et lors de sont ouverture avec un editeur "xml" cela nuit grandement à la comprehension.
ci joint un toute petite partie du code et le resultat obtenu.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 // init du nom du noeud bstrNodeName = SysAllocString(l_strNodeEnfant); // nom du nvx noeud bstrNodeValue = SysAllocString(L""); // valeur du noeud CHK_HR(m_pXMLDom->createNode(varType,bstrNodeName,bstrNodeValue,&pNodeAdd)); CHK_HR(pNodeOrigine->insertBefore(pNodeAdd,varRef,&pNodeReturn)); // init de la valeur SysReAllocString(&bstrNodeValue,_T("")); // valeur du noeud pNodeAdd->put_text(bstrNodeValue); //sauvegarde CHK_HR(VariantFromString(m_strFileName,varFileName)); CHK_HR(m_pXMLDom->save(varFileName)); SAFE_RELEASE(pNodeOrigine); // liberartion
le resultat est:
<movement><movementname>ctbalay</movementname><x>6789</x><y>0</y><z>0</z><type>trans_x</type></movement><movement><movementname>rotation</movementname><x>1234</x><y>0</y><z>0</z><type>rot_z</type></movement><movement><movementname>teles</movementname><x>0</x><y>0</y><z>0</z><type>trans_x</type></movement><movement><movementname></movementname><x>0</x><y>0</y><z>0</z><type>none</type></movement><movement><movementname></movementname><x>0</x><y>0</y><z>0</z><type>none</type></movement>
Tout est ecrit à la queue leuleu.
Quelqu'un c'est-il si je doit utiliser un attribut special à la creation du node ou lors de son insertion.
merci à tous
Partager