Bonjour a tous,
j'aimerai lire un fichier xml avec le XmlLite mais je n'y parviens pas.
Au fait je travaille avec Visual Studio 2008. j ai déjà la bibliothèque xmllite ds mon environnement. il me faut juste implémenter une la fonction qui me permettra de lire mon fichier.
merci de votre aide.
jusqu'ici voila ce que j'ai fait
J'ai toujours eu à ouvrir mes fichiers xml avec ifstream(""). Mais par cette manière j'ai souvent eu le problème avec l'encodage. Cette méthode fonctionne avec l'encodage : encoding="utf-8". Mais dès lors que l'encodage est ASCII il y a problème de lecture.
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 void CFred::XmlReader() { CComPtr<IXmlReader> pReader; CComPtr<IStream> pStream; XmlNodeType nodeType = XmlNodeType_None; HRESULT result = S_OK; const WCHAR* ppwszPrefix; const WCHAR* ppwszLocalName; const WCHAR* pwszValue; UINT pcwchPrefix; result = CreateXmlReader(__uuidof(IXmlReader), (void**) &pReader, NULL); // create stream object result = SHCreateStreamOnFile(L"fred.xml", STGM_READ | STGM_SHARE_DENY_READ, &pStream); result = pReader->SetInput(pStream); while (S_OK == (pReader->Read(&nodeType))) { switch (nodeType) { case XmlNodeType_Element: result = pReader->GetLocalName(&ppwszLocalName, NULL); } } for(HRESULT result = pReader->MoveToFirstAttribute(); S_OK == result; result = pReader->MoveToNextAttribute()) { /*pReader->GetPrefix(*/ } }
Dans mes recherches j'ai lu que XmlLite ( IXmlReader) s'occupe de l'encodage pendant la lecture.
Besoin d'aide car je ne m'y connais pas trop avec le XmlLite
merci bien
Partager