Bonjour,
Je cherche à lire un fichier tcx et je bloque à cause du xsd.
J'ai testé en tentant d'afficher une information, pour l'exemple j'ai pris la "VersionMajor".
Avec le fichier d'origine, j'ai bien mon doc validé mais la "VersionMajor" ne s'affiche pas.
En supprimantde mon fichier tcx :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
xsi:schemaLocation="http://www.garmin.com/xmlschemas/TrainingCenterDatabase/v2 http://www.garmin.com/xmlschemas/TrainingCenterDatabasev2.xsd"
  xmlns:ns5="http://www.garmin.com/xmlschemas/ActivityGoals/v1"
  xmlns:ns3="http://www.garmin.com/xmlschemas/ActivityExtension/v2"
  xmlns:ns2="http://www.garmin.com/xmlschemas/UserProfile/v2"
  xmlns="http://www.garmin.com/xmlschemas/TrainingCenterDatabase/v2"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns4="http://www.garmin.com/xmlschemas/ProfileExtension/v1"
Mon code affiche bien la "VersionMajor" !

Voici mon code actuel :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
                  XmlSchemaSet schemas = new XmlSchemaSet();
                  schemas.Add("http://www8.garmin.com/xmlschemas/TrainingCenterDatabasev2.xsd", XmlReader.Create("C:\\TCX\\TrainingCenterDatabasev2.xsd"));
                  XDocument doc = XDocument.Load("C:\\TCX\\activity.tcx");
                  XNamespace xmlns = "http://www.garmin.com/xmlschemas/TrainingCenterDatabase/v2"; 
                  var errors = false;
                  doc.Validate(schemas, (o, ef) =>
                  {
                      Console.WriteLine("{0}", ef.Message);
                      errors = true;
                  });
                  Console.WriteLine("doc {0}", errors ? "Non validé" : "validé");
                 foreach (var infoWebService in doc.Root.Elements("Author"))
                     foreach (var str in infoWebService.Element("Build").Element("Version").Elements("VersionMajor"))
                         Console.WriteLine(str.Value);

N'étant pas familier des fichiers xml/xsd je suis ouvert à toutes les pistes. En espérant que vous pourrez me donner un coup de pouce. Merci d'avance.