Validation doc XML avec DTD
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
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>");
}
} |
Avez vous des idées ?
Merci d'avance.