aid63
Messages postés3Date d'inscriptionlundi 23 juillet 2007StatutMembreDernière intervention19 septembre 2007
-
18 sept. 2007 à 09:33
aid63
Messages postés3Date d'inscriptionlundi 23 juillet 2007StatutMembreDernière intervention19 septembre 2007
-
19 sept. 2007 à 09:26
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'objet
docXML = New XmlDocument()
'Ajout du tout premier noeud, qui contiendra tous les autres
docXML.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 Sub
Une 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 :
Vous remarquerez les attributs xmlns="" qui apparaissent dans les balises .
Sauriez-vous comment faire pour faire en sorte qu'ils ne soit pas ajouter automatiquement, tout en laissant la balise ? 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.
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 19 sept. 2007 à 03:13
Bonsoir,
étonnant ! il doit y avoir une explication simple au problème mais dans ton cas je te conseil de passer par un XmlWriter, niveau perf ca n'a rien à voir (surtout si ca t'as plusieurs milliers d'url ...) car le XmlWriter travail sur un stream alors que le XMLDocument sur le DOM chargé en mémoire ...
Je pense qu'en utilisant un XmlWriter tu n'auras plus ce problème.