Valider XML contre XSD dans une seule méthode
J'ai besoin de mettre en œuvre une méthode C# qui doit valider un XML à l'encontre d'un externe XSD et de retourner une valeur Booléenne indiquant s'il a été bien formé ou pas.
public static bool IsValidXml(string xmlFilePath, string xsdFilePath);
Je sais comment valider à l'aide d'un rappel. Je voudrais savoir si cela peut être fait en une seule méthode, sans l'aide d'un rappel. J'ai besoin de ce purement à des fins cosmétiques: j'ai besoin de valider jusqu'à quelques dizaines de types de documents XML, donc je tiens à faire est quelque chose d'aussi simple comme ci-dessous.
if(!XmlManager.IsValidXml(
@"ProjectTypes\ProjectType17.xml",
@"Schemas\Project.xsd"))
{
throw new XmlFormatException(
string.Format(
"Xml '{0}' is invalid.",
xmlFilePath));
}
source d'informationauteur Germstorm
Vous devez vous connecter pour publier un commentaire.
Il ya un couple d'options que je peux penser, selon que vous souhaitez ou non utiliser les exceptions pour les non-événements exceptionnels.
Si vous passez une valeur null comme la validation délégué de rappel, la plupart des méthodes de validation va lever une exception si le fichier XML est mal formé, de sorte que vous pouvez simplement intercepter l'exception et le retour
true
/false
en fonction de la situation.L'autre option qui vient à l'esprit repousse les limites de votre
without using a callback
critère. Plutôt que de passer une pré-définis de la méthode de rappel, vous pouvez passer d'une méthode anonyme et l'utiliser pour définir untrue
/false
valeur de retour.