Bonjour à tous,
Je participe actuellement au développement d'un site Internet et j'ai un problème. Pour aider le référencement Google, on m'a demandé de créer un petit utilitaire pour créer le SiteMap du site.
Pour générer le document XML, j'utilise notamment la classe XMLDocument. Je vous expose grosso-modo le code et mon problème :
Private docXML
as XmlDocument
'Création de l'objetdocXML =
New XmlDocument()
'Ajout du tout premier noeud, qui contiendra tous les autresdocXML.AppendChild(docXML.CreateNode(XmlNodeType.Element,
"urlset",
"http://www.sitemaps.org/schemas/sitemap/0.9"))
A partir de là le document XML est prêt à se voir ajouter des noeuds fils. J'utilise pour celà une méthode dont le corps est celui-ci :
Public Sub AjouterLien(
ByVal lien
As String)
Dim elemUrl
As XmlElement = docXML.CreateElement(
"url")
Dim elemLoc
As XmlElement = docXML.CreateElement(
"loc")
elemLoc.InnerText = lien
elemUrl.AppendChild(elemLoc)
docXML.DocumentElement.AppendChild(elemUrl)
End SubUne fois que tous les liens ont été ajoutés, j'utilise un objet XmlWriter pour sauvegarder mon document dans un fichier... et là c'est le drame

. Le fichier généré est celui-ci :
<?xmlversion=
"1.0"encoding=
"utf-8"?><urlsetxmlns=
"http://www.sitemaps.org/schemas/sitemap/0.9"> <urlxmlns=
""> <loc>http://www.lesite.com/machin/bidule1/
</loc> </url> <urlxmlns=
""> <loc>http://www.lesite.com/machin/bidule2/
</loc> </url>
etc.
Vous remarquerez les attributs xmlns="" qui apparaissent dans les balises <url>.
Sauriez-vous comment faire pour faire en sorte qu'ils ne soit pas ajouter automatiquement, tout en laissant la balise <urlsetxmlns=
"http://www.sitemaps.org/schemas/sitemap/0.9"> ? J'ai retourné le problème dans tous les sens hier et je n'ai pas trouvé comment faire. Le sujet n'est pas très (pas du tout ??
) documenté sur Internet.
Par avance, merci à tous !