CREATION D'UN FICHIER XML EN .NET

cs_EBArtSoft
Messages postés
4525
Date d'inscription
dimanche 29 septembre 2002
Statut
Modérateur
Dernière intervention
22 avril 2019
- 24 juin 2004 à 07:53
rsx602
Messages postés
140
Date d'inscription
jeudi 24 août 2006
Statut
Membre
Dernière intervention
28 août 2014
- 17 mars 2011 à 03:15
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/23954-creation-d-un-fichier-xml-en-net

rsx602
Messages postés
140
Date d'inscription
jeudi 24 août 2006
Statut
Membre
Dernière intervention
28 août 2014

17 mars 2011 à 03:15
Bonjours , il ya t-il un moyen d'écrire plusieur lignes dans un XML? si oui comment? Merci
CeluiQuiVComprendre
Messages postés
6
Date d'inscription
lundi 17 mai 2010
Statut
Membre
Dernière intervention
15 juillet 2010

15 juil. 2010 à 16:45
J'ai fais un copier coller de ton code, moi je developpe en asp.net associé au vb.net et sa ne passe pas, j'ai cette erreur:

Type 'XmlElement' non défini.
Tu peux me l'expliquer (meme sur le forum)
cs_damien34
Messages postés
1
Date d'inscription
dimanche 8 septembre 2002
Statut
Membre
Dernière intervention
10 septembre 2007

10 sept. 2007 à 09:18
Bonjour,
C'est bien de faire des codes très simples pour les débutants mais il faut préciser les versions utilisées et enlever les pièges évidents :)
Voilà une version corrigée de ton code qui va marcher tout de suite en .net version 2 (la seule à utiliser en production)
Il faut aussi ne jamais écrire n'importe où sur le disque, les nouvelles plateformes (serveur 2003, Vista) le refusent enfin par défaut (ce n'est pas trop tôt).
Cordialement
Damien

Dim Doc As New System.Xml.XmlDocument
Dim mElement As System.Xml.XmlElement
mElement = Doc.CreateElement("Root")
Doc.AppendChild(mElement)

'Create an XML declaration.
Dim xmldecl As System.Xml.XmlDeclaration
xmldecl = Doc.CreateXmlDeclaration("1.0", Nothing, Nothing)
Doc.InsertBefore(xmldecl, Doc.DocumentElement)
Dim mFichier = My.Computer.FileSystem.SpecialDirectories.MyDocuments.ToString & "\temp.xml" ' on écrit dans un dossier autorisé !
Doc.Save(mFichier)

'Temp.xml sera créé et contiendra juste le minimum pour ensuite écrire ce que l'on veut dedans

'<?xml version="1.0"?>
'<Root/>

'pour le reste il vous suffit de faire

' Dim mElement As System.Xml.XmlElement déjà déclaré
mElement = Doc.CreateElement("Enfant")
mElement.InnerText = "Noeud Enfant"
Doc.DocumentElement.AppendChild(mElement)
Doc.Save(mFichier)
cs_Guillaume1er
Messages postés
8
Date d'inscription
mardi 17 décembre 2002
Statut
Membre
Dernière intervention
3 juin 2006

8 sept. 2006 à 19:19
Merci a tous les deux vos travaux sont super et repondent a mon besoin
jesusonline
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Membre
Dernière intervention
13 octobre 2010
29
25 juin 2004 à 10:59
--> Flo1978 : j'avais vu ta source, j'ai telechargé le zip, puis fait autre chose et j'ai du l'oublier :p
J'y suis retourné, et c'est vrai que ta source fais ce que je demande.

Le principe est totalement different, tu te sers d'un xmlTextWriter, qui est peut etre une meilleure solution que la mienne.

Voici pour ceux que ca interesse la structure de la source de Flo1978

Dim XMLobj As Xml.XmlTextWriter
Dim ue As New System.[Text].UnicodeEncoding
XMLobj = New Xml.XmlTextWriter("Sample.xml", ue)

XMLobj.Formatting = Xml.Formatting.Indented
XMLobj.Indentation = 3
XMLobj.WriteStartDocument()

XMLobj.WriteComment("XML crée par Bertaux Florian")
XMLobj.WriteComment("Sample XML/XSL")
XMLobj.WriteComment("http://www.EdenSoftware.fr.st")



XMLobj.WriteStartElement("XMLXSL")

Dim des As String = "Sample XML/XSL - (http://www.EdenSoftware.fr.st)"
Dim desc As String = "Crée par Bertaux Florian "
XMLobj.WriteStartElement("DESCRIPTION")
XMLobj.WriteElementString("Info", des)
XMLobj.WriteElementString("Author", desc)
XMLobj.WriteEndElement()

XMLobj.Close()

Merci pour la note :)
Afficher les 10 commentaires