Msxml sous visual studio
Phil
-
Phil -
Phil -
Bonjour, j'ai un souci avec MsXML 3 sous visual c++.
J'arrive à lire un fichier XML simple et en extraire des données. MAIS dès que dans mon fichier XML il y a une définition telle que
<!DOCTYPE [ ... ]> ça ne marche plus, il ne trouve plus mon noeud "techname"!! AU SECOURS :
Voila le code c++ :
HRESULT hr;
hr = CoInitialize(NULL);
IXMLDOMDocumentPtr pXMLDoc;
hr = pXMLDoc.CreateInstance(__uuidof(DOMDocument));
pXMLDoc->async = VARIANT_FALSE;
VARIANT_BOOL fSuccess;
hr = pXMLDoc->load("c:/test.xml");
CString str ="//techname";
IXMLDOMNodePtr noeud
noeud=pXMLDoc->selectSingleNode(str.AllocSysString());
if (0!=noeud)
{
_bstr_t tes(noeud->text);
CString test = tes.copy();
}
Voila un fichier xml avec lequel mon code marche :
<?xml version="1.0" encoding="utf-8"?>
<dmodule xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.s1000d.org/S1000D_2-0/xml_schema/dm/ descriptSchema.xsd"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://www.purl.org/dc/elements/1.1/"
xmlns:xlink="http://www.w3.org/1999/xlink">
<idstatus>
<dmaddres>
<dmtitle>
<techname>Emetteur-recepteur ER-362A</techname>
<infoname>Generalites et Caracteristiques</infoname>
</dmtitle>
</dmaddres>
</idstatus>
</dmodule>
tous les exemples suivants ne marchent pas :
remarquez les 'é' pour les 'é' (c'est la seule différence avec ci-dessus) :
<?xml version="1.0" encoding="utf-8"?>
<dmodule xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.s1000d.org/S1000D_2-0/xml_schema/dm/ descriptSchema.xsd"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://www.purl.org/dc/elements/1.1/"
xmlns:xlink="http://www.w3.org/1999/xlink">
<idstatus>
<dmaddres>
<dmtitle>
<techname>Emetteur-récepteur ER-362A</techname>
<infoname>Généralités et Caractéristiques</infoname>
</dmtitle>
</dmaddres>
</idstatus>
</dmodule>
autre pb (il n'y a pas de 'é' mais la déclaration !DOCTYPE a l'aire de le faire chier):
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE dmodule [
ENTITY % ISOEntities PUBLIC "ISO 8879-1986//ENTITIES ISO Character Entities 20030531//EN//XML" "REF/schema/ISO_entities/ISOEntities"
%ISOEntities;
]>
<dmodule xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.s1000d.org/S1000D_2-0/xml_schema/dm/ descriptSchema.xsd"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://www.purl.org/dc/elements/1.1/"
xmlns:xlink="http://www.w3.org/1999/xlink">
<idstatus>
<dmaddres>
<dmtitle>
<techname>Emetteur-recepteur ER-362A</techname>
<infoname>Generalites et Caracteristiques</infoname>
</dmtitle>
</dmaddres>
</idstatus>
</dmodule>
j'ai pourtant un dossier 'REF/schema/ISO_entities/ISOEntities' avec les entités en local sur mon PC, je l'ai à la racine du c:, dans le répertoire de mon projet et dans le débug, mais ça ne marche toujours pas !!
Par contre, j'ai les 'dtd' ou plustôt schemas de ce fichier XML, ils sont au format '.xsd' mais je ne sais pas si ca peut m'être utile, et ce que je pourrais en faire...
HELP !
Merci d'avance pour tout aide apportée !!
J'en ai besoin pour foutu projet !!
Salut !!
J'arrive à lire un fichier XML simple et en extraire des données. MAIS dès que dans mon fichier XML il y a une définition telle que
<!DOCTYPE [ ... ]> ça ne marche plus, il ne trouve plus mon noeud "techname"!! AU SECOURS :
Voila le code c++ :
HRESULT hr;
hr = CoInitialize(NULL);
IXMLDOMDocumentPtr pXMLDoc;
hr = pXMLDoc.CreateInstance(__uuidof(DOMDocument));
pXMLDoc->async = VARIANT_FALSE;
VARIANT_BOOL fSuccess;
hr = pXMLDoc->load("c:/test.xml");
CString str ="//techname";
IXMLDOMNodePtr noeud
noeud=pXMLDoc->selectSingleNode(str.AllocSysString());
if (0!=noeud)
{
_bstr_t tes(noeud->text);
CString test = tes.copy();
}
Voila un fichier xml avec lequel mon code marche :
<?xml version="1.0" encoding="utf-8"?>
<dmodule xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.s1000d.org/S1000D_2-0/xml_schema/dm/ descriptSchema.xsd"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://www.purl.org/dc/elements/1.1/"
xmlns:xlink="http://www.w3.org/1999/xlink">
<idstatus>
<dmaddres>
<dmtitle>
<techname>Emetteur-recepteur ER-362A</techname>
<infoname>Generalites et Caracteristiques</infoname>
</dmtitle>
</dmaddres>
</idstatus>
</dmodule>
tous les exemples suivants ne marchent pas :
remarquez les 'é' pour les 'é' (c'est la seule différence avec ci-dessus) :
<?xml version="1.0" encoding="utf-8"?>
<dmodule xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.s1000d.org/S1000D_2-0/xml_schema/dm/ descriptSchema.xsd"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://www.purl.org/dc/elements/1.1/"
xmlns:xlink="http://www.w3.org/1999/xlink">
<idstatus>
<dmaddres>
<dmtitle>
<techname>Emetteur-récepteur ER-362A</techname>
<infoname>Généralités et Caractéristiques</infoname>
</dmtitle>
</dmaddres>
</idstatus>
</dmodule>
autre pb (il n'y a pas de 'é' mais la déclaration !DOCTYPE a l'aire de le faire chier):
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE dmodule [
ENTITY % ISOEntities PUBLIC "ISO 8879-1986//ENTITIES ISO Character Entities 20030531//EN//XML" "REF/schema/ISO_entities/ISOEntities"
%ISOEntities;
]>
<dmodule xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.s1000d.org/S1000D_2-0/xml_schema/dm/ descriptSchema.xsd"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://www.purl.org/dc/elements/1.1/"
xmlns:xlink="http://www.w3.org/1999/xlink">
<idstatus>
<dmaddres>
<dmtitle>
<techname>Emetteur-recepteur ER-362A</techname>
<infoname>Generalites et Caracteristiques</infoname>
</dmtitle>
</dmaddres>
</idstatus>
</dmodule>
j'ai pourtant un dossier 'REF/schema/ISO_entities/ISOEntities' avec les entités en local sur mon PC, je l'ai à la racine du c:, dans le répertoire de mon projet et dans le débug, mais ça ne marche toujours pas !!
Par contre, j'ai les 'dtd' ou plustôt schemas de ce fichier XML, ils sont au format '.xsd' mais je ne sais pas si ca peut m'être utile, et ce que je pourrais en faire...
HELP !
Merci d'avance pour tout aide apportée !!
J'en ai besoin pour foutu projet !!
Salut !!
A voir également:
- Msxml sous visual studio
- Telecharger fl studio 20 pour pc gratuit complet - Télécharger - Édition & Montage
- Visual petanque - Télécharger - Sport
- Visual c++ 2019 - Guide
- Darkwave studio - Télécharger - Édition & Montage
- Visual paradigm - Télécharger - Gestion de données