Outils pour utilisateurs

Outils du site


developpement:dotnet:linq:linq-to-xml

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
Dernière révisionLes deux révisions suivantes
developpement:dotnet:linq:linq-to-xml [2014/10/31 01:08] sgariepydeveloppement:dotnet:linq:linq-to-xml [2022/02/02 00:42] – modification externe 127.0.0.1
Ligne 1: Ligne 1:
 ====== LINQ-to-XML ====== ====== LINQ-to-XML ======
  
-===== Charger un fichier XML =====+===== Charger et sauvegarder un fichier XML =====
  
 Il y a plusieurs façons de charger un fichier XML: Il y a plusieurs façons de charger un fichier XML:
Ligne 7: Ligne 7:
   * Un élément XML contenant des enfants ou non.   * Un élément XML contenant des enfants ou non.
  
-Pour charger un document complet on peut utiliser ''XDocument.Load()''.+Pour charger un document complet on peut utiliser ''XDocument.Load(string filename)''.  Le fichier XML doit être un fichier XML complet valide.
  
 <code csharp> <code csharp>
Ligne 13: Ligne 13:
 </code> </code>
  
-Ou un fichier contenant un élément particulier //root// avec ''XElement.Load()''.+Ou un fichier contenant un élément particulier //root// avec ''XElement.Load(string filename)''.
  
 <code csharp> <code csharp>
 XElement doc = XElement.Load(@"C:\\Current.xml"); XElement doc = XElement.Load(@"C:\\Current.xml");
 </code> </code>
 +
 +Pour sauvegarder un fichier XML c'est avec ''XDocument.Save(string filename)''.
 +
 +<code csharp>
 +doc = XDocument.Save(@"C:\\Current_saved.xml");
 +</code>
 +
 +
 +
 +
 +===== Charger un XML d'une chaîne =====
 +
 +Utiliser ''XDocument.Parse(string text)''.
 +
 +
 +
 +
 +
 +
 +===== Opérations sur les éléments =====
 +
 +==== Suppression ====
 +
 +
 +<code csharp>
 +XDocument doc = XDocument.Load(@"C:\\Current.xml");
 +var elements = from i in doc.Descendants("Revision")
 +               select i;
 +elements.Remove();
 +doc.Save(@"C:\\Current.xml");
 +</code>
 +
 +
 +===== Créer un document XML =====
 +
 +
 +<code csharp>
 +  XElement weekToArchive = new XElement("week", new XAttribute("value", Week.GetCurrentWeekStr()));
 +    foreach (var comment in commentsToArchive) {
 +      weekToArchive.Add(
 +        new XElement("comment",
 +          new XAttribute("datetime", DateTime.Now.ToString()),
 +          new XAttribute("keyid", comment.Attribute("ID").Value),
 +          new XAttribute("text", comment.Attribute("Comment").Value)
 +        )
 +    );
 +}
 +</code>
 +
 +
 +