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