XML mal formé, comment contourner....? [Résolu]

Messages postés
14
Date d'inscription
mercredi 30 janvier 2008
Dernière intervention
9 octobre 2008
- - Dernière réponse : gentilKiki
Messages postés
14
Date d'inscription
mercredi 30 janvier 2008
Dernière intervention
9 octobre 2008
- 25 févr. 2008 à 18:34
Bonjour a tous,
Je sollicite votre aide pour un probleme de parse xml.
J'ai un flux (que je ne peux pas modifier), qui est semble t'il, mal formé. Bien que je connaisse la raison, j'essaye, en vain, de contourner le problème.
Voici le flux:

<?xml version= "1.0" encoding="UTF-8"?>
<xml>
<rs:dataRows="2"ExitCode="1"ErrorMessage="" />
<z:row id="10314">
<z:row id="10315">
</rs:data>
</xml>

Hormis le format un peu étrange (balise xml), il existe un autre problème, celui des namespaces non déclarés.
J'ai bien essayé plusieurs methodes récoltées ca et la, mais ca coince tjs au meme endroit (a savoir, le premier namespace rencontré "rs"  ).

String pathFile = "C:\\myDoc.xml";
XmlTextReader docDal = new XmlTextReader(pathFile);
docDal.WhitespaceHandling = WhitespaceHandling.None;
XmlNamespaceManager nsmanager = new XmlNamespaceManager(docDal.NameTable);

nsmanager.AddNamespace("rs", " http://foo/");
nsmanager.AddNamespace("z", "http://foo2/");

while (docDal.Read())
{
  if (docDal.Name == "rs")
  {
     Console.WriteLine("name" + docDal.Name);
  }
}            
 
Peut etre existe t'il une solution pour déclarer, convenablement et a la volé, ces namespaces. Merci d'avance pour vos réponses...

gentilKiki
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
5507
Date d'inscription
dimanche 4 août 2002
Dernière intervention
20 juin 2013
3
Merci
Bonjour,
Je ne suis pas certain de ce que j'avance, mais je ne pense pas que les objets qui permettent le traitement d'XML soit fonctionnel avec des fichiers XML non valide (qui sont donc en fait pas des XML...).

La solution que je verrais alors est soit:
- lire le fichier comme un texte, corriger le contenu (en mémoire) puis charger le nouveau contenu (corrigé) dans un object XML tel un XmlDocument (cette fois, les objets pour XML seront utilisables)
 - Ne pas utiliser tout ce qui est relatif à l'XML et traiter le fichier comme un bête fichier texte (on passe alors à côté de tous les bénéfices offert par cette technologie).

<hr />
-My Blog-

Merci cs_Bidou 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 105 internautes ce mois-ci

Commenter la réponse de cs_Bidou
Messages postés
14
Date d'inscription
mercredi 30 janvier 2008
Dernière intervention
9 octobre 2008
0
Merci
Aie, ca s'annonce mal. Je m'attendai a un setting de fou, mais non, on revient a du parse a l'ancienne;)
Merci beaucoup Bisou, je crois que je vais essayer de pas trop perdre mon temps a avec ca et prendre ta methode:)

gentilKiki
Commenter la réponse de gentilKiki

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.