Les fichiers XML (partie 1)
-=Partie 1=- Création d?un schéma Xml utilisation de la classe XmlDocument
|
|
Vu
8820
fois
|
Imports System.Xml
un fichier Xml doit être écrit selon un schéma bien défini ,nous allons donc definir la structure de notre fichier suivant ce shéma :
NB : pour créer un fichier xml standard à la syndication de contenu au format rss, voir les référence en fin d'article
|
[lstSite] (debut du flux rss)
[SITE]
[URL]http://www.peuw.net/index.xml[/URL]
[NOM]peuw.net[/NOM]
[/SITE]
[SITE]
[URL]http://www.poxx.net/index.xml[/URL]
[NOM]poxx - Science Fair[/NOM]
[/SITE]
[/lstSite] (fin du flux Rss) |
Nous allons donc déclarer l?objet XmlDoc représentant notre document avec la classe XmlDocument.
?création d?une nouvelle instance du membre xmldocument
Dim XmlDoc As XmlDocument = New XmlDocument() |
Nous allons tout d?abord créer et baliser un document vierge de part la propriété LoadXml (Cree un document suivant le code passé en paramètre) du XmlDocument .
´création du document XmlDoc.LoadXml("[lstSite][/lstSite]")
|
Ensuite pour chacun des flux nous allons créer une balise [SITE][/SITE] qui contiendra , une balise [URL][/URL] et une balise [NOM][/NOM]
Chaque flux est représenté par un Élément (classe XmlElement), nous devons donc les déclarer
?a savoir :
Dim elemSite As XmlElement ?ElemSite pour le n?ud [SITE][/SITE] Dim elemUrl As XmlElement ?ElemSite pour le n?ud [URL][/URL] Dim elemNom As XmlElement ?ElemSite pour le n?ud [NOM][/NOM]
|
Pour créer nos balises regardons de plus prés les propriétés de la classe XmlElement qui nous seront utiles à savoir :
- .CreateElement : Pour crée un nouveau n?ud (une nouvelle balise)
- .InnerText :
Pour définir la valeur de la balise ( n?ud)
- .AppendChild : pour ajouter le n?ud à notre document (à la fin de la liste des enfants de ce n?ud).
Créeons d?abord notre balise [SITE][/SITE] qui est en fait le n?ud parent des balises [URL][/URL] et [NOM][/NOM] et le n?ud enfant de la balise [lstSite][/lstSite])
´creation de la balise [SITE][/SITE] elemSite = XmlDoc.CreateElement("SITE")
|
Créeons ensuite nos balises [URL][/URL] et [NOM][/NOM]
elemUrl = XmlDoc.CreateElement("URL") elemNom = XmlDoc.CreateElement("NOM")
|
Définissons les valeur de nos balises [URL][/URL] et [NOM][/NOM]
elemUrl.InnerText = " http://www.peuw.net/index.xml " elemNom.InnerText = " peuw.net "
|
Il ne nous reste plus qu?a :
ajouter les balises enfants à la balise parent,
elemSite.AppendChild(elemUrl) elemSite.AppendChild(elemNom) |
ajouter la balise parent au document Xml
´on ajoute la balise parent au document XmlDoc.DocumentElement.AppendChild(elemSite) |
Ecrire le schéma Xml
XmlDoc.Save(Application.StartupPath & "Newsite.XML") |
Ce qui nous donne :
Dim elemSite As XmlElement elemSite = XmlDoc.CreateElement("SITE") ´creation et definition de la balise url (enfant) Dim elemUrl As XmlElement elemUrl = XmlDoc.CreateElement("URL") elemUrl.InnerText = " http://www.peuw.net/index.xml " ´creation et definition de la balise Nom (enfant) Dim elemNom As XmlElement elemNom = XmlDoc.CreateElement("NOM") elemNom.InnerText = peuw.net ´ajout des 2 balise enfants a la balise parent elemSite.AppendChild(elemUrl) elemSite.AppendChild(elemNom) ´on ajoute la balise parent au document XmlDoc.DocumentElement.AppendChild(elemSite) ?Ecriture du Xml XmlDoc.Save(Application.StartupPath & "Newsite.XML") MsgBox("Enregistrement réussi")
|
syndication de contenu
- JDNet Developpeur : Définition, fonctionnement et utilisation du format RSS. - Mnot (En) : Guide technique du RSS à l'attention des webmasters. - Opikanoba : Définition, historique, forme et contenu. - WebReference (En) : Définition, syntaxe, syndication, aggrégation et avenir du format. - Xml.com (En) : Définitions, utilisation et applications du RSS avec le Xml.
|