Bonjour,
Sur le site que je développe en ce moment, je dois pouvoir proposer un flux de donnée XML. Pour cela, j'ai utilié un HttpHandler qui pourra être accessible suivant une adresse du type "http://mon-site/flux.ashx".
Le flux génère des données XML du type:
Jusqu'ici, aucun problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE root SYSTEM "URL du doctype"> <root> <produit> <nom>Produit de test</nom> <image>http://mon-site/image.jpg</image> <categorie>Une catégorie</categorie> <organisme>Un organisme</organisme> <date_limite>17.11.2008</date_limite> <descriptif>Un produit qui vous fait plaisir</descriptif> <lien>http://un-autre-site/</lien> </produit> </root>
Le XML est valide, il posséde un doctype et une déclaration XML (la totale je crois).
Mon problème survient lorsque je souhaite ouvrir le flux XML en C# (pour tester si je pourrais le récupérer sur d'autres sites).
Pour tester, j'ai écrit quelques lignes me permettant d'habitude de lire un fichier XML :
Mais dans mon cas, ça ne marche pas. ASP me lance une erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 XmlDocument doc = new XmlDocument(); // Je suis en local pour le moment et je réécrit l'adresse du Handler doc.LoadXml("http://localhost:4915/mon-site/flux.xml"); Response.Write(doc.OuterXml);
Détails de l'exception: System.Xml.XmlException: Données non valides au niveau racine. Ligne 1, position 1.
Erreur source: L'erreur se situe sur la méthode doc.loadXML()
Je voudrai savoir si ce genre de manipulation est possible ou est réservé au fichier XML.
Merci à tous d'avance.
EDIT : Désolé, je viens juste de m'apercevoir que je m'était tromper de méthode:
je devais utiliser XmlDocument.Load() et non pas XmlDocument.LoadXML()
Partager