[RESOLU] erreur pendant le chargement un fichier XML

erreur pendant le chargement un fichier XML [RESOLU] - C#/.NET managed - Programmation

Marsh Posté le 29-07-2009 à 13:15:35    

Bonjour,
 
J'essaie de charger un stupide fichier XML :
 

Code :
  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <login>
  3.   <user nom="administrateur" mdp="jesepa"/>
  4. </login>


 
via le code suivant :
 

Code :
  1. // chargement du fichier
  2.             XmlDocument monDoc = new XmlDocument();
  3.             monDoc.Load(Request.Url.ToString() + "/login.xml" );
  4.             // chargement de tous les users
  5.             XmlNodeList mesUsers = monDoc.GetElementsByTagName("user" );
  6.             // parcours de tous les utilisateurs
  7.             foreach (XmlNode unUser in mesUsers)
  8.             {
  9.                 // on vérifie si le login et mot de passe sont bons
  10.                 user = unUser.Attributes[0].Value.ToString();
  11.                 mdp = unUser.Attributes[1].Value.ToString();
  12.                 if ((user == UserName.Text) && (mdp == Password.Text))
  13.                 {
  14.                     trouverUser = true;
  15.                     break; // on stoppe la boucle
  16.                 }
  17.             }


 
mais j'obtiens l'erreur suivante à l'éxécution :
 

Code :
  1. System.Xml.XmlException: Expected DTD markup was not found. Line 5, position 3. at System.Xml.XmlTextReaderImpl.Throw(Exception e) at System.Xml.XmlTextReaderImpl.DtdParserProxy.System.Xml.IDtdParserAdapter.Throw(Exception e) at System.Xml.DtdParser.Throw(Int32 curPos, String res, String arg) at System.Xml.DtdParser.ScanSubsetContent() at System.Xml.DtdParser.GetToken(Boolean needWhiteSpace) at System.Xml.DtdParser.ParseSubset() at System.Xml.DtdParser.ParseExternalSubset() at System.Xml.DtdParser.ParseInDocumentDtd(Boolean saveInternalSubset) at System.Xml.DtdParser.Parse(Boolean saveInternalSubset) at System.Xml.XmlTextReaderImpl.DtdParserProxy.Parse(Boolean saveInternalSubset) at System.Xml.XmlTextReaderImpl.ParseDoctypeDecl() at System.Xml.XmlTextReaderImpl.ParseDocumentContent() at System.Xml.XmlTextReaderImpl.Read() at System.Xml.XmlLoader.LoadNode(Boolean skipOverWhitespace) at System.Xml.XmlLoader.LoadDocSequence(XmlDocument parentDoc) at System.Xml.XmlLoader.Load(XmlDocument doc, XmlReader reader, Boolean preserveWhitespace) at System.Xml.XmlDocument.Load(XmlReader reader) at System.Xml.XmlDocument.Load(String filename) at Login.LoginButton_Click(Object sender, EventArgs e)


 
le problème c'est que dans mon fichier XML je n'ai que 4 lignes et je ne comprends donc pas pourquoi il me sort l'erreur à cause du DTD.
De plus quand j'éxécute en Debug ça ne pose pas de problème mais une fois publié sur le server ça ne marche pas.  
Le fichier est bien à l'endroit ou il doit être.  
 
Par contre quand j'essaie d'accéder à ce fichier via l'url :
http://localhost/dijon/login.aspx/login.xml
 
il me sort une page de connection qui n'existe pas.  
 
bref une idée d'où pourrait provenir ce problème ?  
merci d'avance.


Message édité par lordankou le 29-07-2009 à 15:00:31

---------------

Reply

Marsh Posté le 29-07-2009 à 13:15:35   

Reply

Marsh Posté le 29-07-2009 à 14:59:35    

en fait j'avais fait une erreur grossière au niveau de mon fichier xml
l'adresse c'était :
http://localhost/dijon/login.xml
et non pas  
http://localhost/dijon/login.aspx/login.xml
 
(c'est la fatigue vivement les vacances !)
en tout cas merci d'avoir répondu

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed