J'utilise la méthode d'extension XDocument.Validate
pour valider mon instance. Est-il possible de tenir une instance XML responsable de sa propre référence de schéma? Cela semble être quelque chose qui serait assez implicite. Malheureusement, le simple chargement de l'instance dans un XDocument
ne semble pas effectuer implicitement cette validation.Validation d'une instance de XDocument par rapport à sa propre référence de schéma
1
A
Répondre
1
Si vous voulez valider la charge essayer d'utiliser:
XDocument.Load Method (XmlReader, LoadOptions)
avec validation XMLReader.
Par exemple, quelque chose comme ceci:
XmlReader reader;
XmlReaderSettings settings = new XmlReaderSettings();
settings.ValidationType = ValidationType.Schema;
settings.ValidationFlags = XmlSchemaValidationFlags.ReportValidationWarnings |
XmlSchemaValidationFlags.ProcessSchemaLocation;
ValidationEventHandler validator = delegate(object sender,
ValidationEventArgs e)
{
Console.WriteLine("{0}: {1}", e.Severity, e.Message);
};
settings.ValidationEventHandler += validator;
settings.CloseInput = true;
StringReader sr = new StringReader(inputXml);
reader = XmlReader.Create(sr, settings);