/// <summary>
/// crée le schéma xml correspondant au fichier xml en entrée
/// </summary>
/// <param name="InputUri">le chemin vers le fichier xml</param>
/// <param name="Path">le chemin de sortie vers le schéma xml à créer</param>
private static void CreateXmlSchema(string InputUri, string Path)
{
System.Xml.XmlReader oXmlReader = System.Xml.XmlReader.Create(InputUri);
System.Xml.Schema.XmlSchemaSet oXmlSchemaSet = new System.Xml.Schema.XmlSchemaSet();
System.Xml.Schema.XmlSchemaInference oXmlSchemaInference = new System.Xml.Schema.XmlSchemaInference();
oXmlSchemaSet = oXmlSchemaInference.InferSchema(oXmlReader);
System.IO.TextWriter red = new System.IO.StreamWriter(Path);
foreach (System.Xml.Schema.XmlSchema oXmlSchema in oXmlSchemaSet.Schemas())
{
oXmlSchema.Write(red);
}
}
Remarque :
exemple d'utilsation :
CreateXmlSchema(System.IO.Path.Combine(Application.StartupPath,"Contacts.xml"),"c:/test.xsd");