Bonjour,
J'ai un petit problème, Je n'arrive pas valider un document XML à l'aide d'une DTD (externe au fichier XML) avec XmlReader.
J'ai l'erreur suivante :
"For security reasons DTD is prohibited in this XML document. To enable DTD processing set the DtdProcessing property on XmlReaderSettings to Parse and pass the settings into XmlReader.Create method."
Info: je suis sous VB 2010 Express
Avez vous des idées ?Code:
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 public partial class Default2 : System.Web.UI.Page { private StringBuilder _builder = new StringBuilder(); protected void Page_Load(object sender, EventArgs e) { string xmlPath = Server.MapPath("~/App_Data/Product.xml"); XmlReader reader = null; XmlReaderSettings settings = new XmlReaderSettings(); settings.ValidationEventHandler += new ValidationEventHandler(this.ValidationEventHandler); settings.DtdProcessing = DtdProcessing.Parse; settings.ValidationType = ValidationType.DTD; settings.Schemas.Add(null, Server.MapPath("~/App_Data/Product.dtd")); //ligne du XmlException reader = XmlReader.Create(xmlPath, settings); while (reader.Read()) while (reader.Read()) { } if (_builder.ToString() == String.Empty) Response.Write("DTD Validation completed successfully."); else Response.Write("DTD Validation Failed. <br>" + _builder.ToString()); reader.Close(); } void ValidationEventHandler(object sender, ValidationEventArgs e) { _builder.Append("Validation error: " + e.Message + "<br>"); } }
Merci d'avance.

