begin process at 2012 05 28 04:54:06
  Trouver un code source :
 
dans
 
Accueil > Forum > 

ASP.NET

 > 

Divers

 > 

Autre

 > 

Problème d'ajout intempestif d'attributs xmlns vides par la classe XMLDocument.


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème d'ajout intempestif d'attributs xmlns vides par la classe XMLDocument.

mardi 18 septembre 2007 à 09:33:36 | Problème d'ajout intempestif d'attributs xmlns vides par la classe XMLDocument.

aid63

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 :

<?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 !
mercredi 19 septembre 2007 à 03:13:16 | Re : Problème d'ajout intempestif d'attributs xmlns vides par la classe XMLDocument.

jesusonline

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
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.


Cyril - MSP - MCPD ASP.net & MCTS SQL
mercredi 19 septembre 2007 à 09:26:37 | Re : Problème d'ajout intempestif d'attributs xmlns vides par la classe XMLDocument.

aid63

En effet, passer directement par un objet XmlWriter permet de contourner le problème.

Merci !


Cette discussion est classée dans : problème, http, docxml, xmlns, xmldocument


Répondre à ce message

Sujets en rapport avec ce message

j'arrive pas à lire un xml avec xmldocument [ par pmoury ] je recupere un xml dans un string mais impossible de le lire pour recuperer le resultat avec xlmdocument au moment du load, j'ai un erreurmon code :mo Problème avec de DIV [ par Fafred21 ] Bonjour, Cela fait plusieurs semaines que je galère. J'ai regardé tout les tutoriaux, rien n'y fait. En fait, je débute dans les Div et je suis conf problème insertion contrôle [ par hugo7 ] Bonjour à tous je voudrais utiliser ce contrôle éditor : http://ckeditor.com/demo Donc j'ai télécharger le dossier contenant tous les fichieret j'ai Problème avec la lecture de HTTP_REFERER [ par fr64 ] Bonjour,J'utilise un bout de code semblable sur certaines pages pour controler d'où viennent les requétes qui les appellent .If Len(Request.ServerVari Probleme secu IIS ? [ par loubetasp ] BOnjour à tous, Peut être quelqu'un à t'il déjà rencontré ce problème : Je redirige une page aspx vers un pdf généré en dynamique en local, pas de sou Erreur Http 405 Après Validation D'un Formulaire [ par foxmulder7 ] Sous NT4 quand je rentre mon compte et mon pass sur www.tatouvu.com/acces.html j'ai une erreur : Erreur HTTP 405405 Method Not AllowedLa méthode spéci Frameset et barre de défilement [ par Appolon ] Bonjour à tous,J'ai un problème avec les frameset càd j'ai une page ASP divisé en 4 parties. Pour les rassembler j'utilise les frameset.Mon problème Menu dynamique et frameset [ par Appolon ] Bonjour à tous,Mon problème est le suivant, j'ai un menu dynamique horizontal il se trouve dans une page asp entete qui elle est appellé dans une page localhost et localhost:8080 [ par jimmy69 ] Bonjour a tous,Voila je debute en asp.net !J'ai juste une p'tite question a vous poser ?!Y a t il une difference entre cecihttp://localhost/monapplica Problème d'UPDATE [ par yamaha600 ] Bonjour,Je n'arrive pas a faire un UPDATE dans une base ACCESS a cause du chaine avec un apostrophe.Message :UPDATE ACH_FOURNISSEURS SET FOU_RAISOC =


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,733 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales