Bonjour,
J'utilise xerces v3 pour lire dans un fichier XML, mais le probléme c'est que je ne trouve pas comment écrire dedans :/
Voici un exemple d'une de mes methodes que j'utilise et je souhaiterais pouvoir modifier le DOMText que je récupére (en utilisant une autre methode pour le modifier):
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66 string CharacterConfig::getCharacter(int id) { string return_account; bool found = false; if (not id < 1 or not id > 8) { for( XMLSize_t i = 0; i < children->getLength(); ++i ) // Boucle sur chaque account { DOMNode* currentNode = children->item(i); // récupére l'account de la liste DOMElement* currentElement = dynamic_cast< DOMElement* >( currentNode ); if ( currentElement != NULL) { int server_id = XMLString::parseInt(currentElement->getAttribute(_idAttribute)); // récupére l'id de l'account if (server_id == id) { if( XMLString::equals(currentNode->getNodeName(), _accountTag)) // Vérifie quand meme si j'ai bien un element account { DOMNodeList* accountNode = currentNode->getChildNodes(); // récupére ce qu'il y a dans account for( XMLSize_t i2 = 0; i2 < accountNode->getLength(); ++i2 ) // boucle sur chaque element de l'account { DOMNode* currentAccountNode = accountNode->item(i2); if(XMLString::equals(currentAccountNode->getNodeName(), _characterNameTag)) // on vérifie que l'on a bien notre element character { DOMNode* characterNode = currentAccountNode->getFirstChild(); // récupére le premier (le seul) element DOMText* characterText = dynamic_cast< DOMText* > ( characterNode ); if (characterText != NULL) { string result = XMLString::transcode(characterText->getWholeText()); size_t find = result.find("\n"); if ( find != string::npos ) result.erase(find); if(!result.empty()) { found = true; return_account = result; } else { found = false; return_account = "NONE"; } break; } else { break; } } else { if(not found) return_account = "NONE"; } } } } else { if(not found) return_account = "NONE"; } } } } return return_account; }
Merci d'avance.
EDIT: j'utilise xerces c++ v3
Partager