MANIPULATION XML ET DOM - TUTORIEL SUR FOND DE FLUX RSS

cs_moustachu Messages postés 1079 Date d'inscription jeudi 14 novembre 2002 Statut Membre Dernière intervention 1 janvier 2012 - 17 janv. 2007 à 09:05
attaque Messages postés 26 Date d'inscription vendredi 23 septembre 2005 Statut Membre Dernière intervention 4 novembre 2009 - 14 nov. 2009 à 07:32
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/41131-manipulation-xml-et-dom-tutoriel-sur-fond-de-flux-rss

attaque Messages postés 26 Date d'inscription vendredi 23 septembre 2005 Statut Membre Dernière intervention 4 novembre 2009
14 nov. 2009 à 07:32
Oups, désolé pour le double. J'ai oublier de préciser que le flux du site a beau être avec des images, etc... Celui que le programme récupère reste lui neutre sans plus.
attaque Messages postés 26 Date d'inscription vendredi 23 septembre 2005 Statut Membre Dernière intervention 4 novembre 2009
14 nov. 2009 à 07:29
Re, justement j'utilise un flux avec liens, images et autre depuis le début ^^ car c'est ce que je recherche.

Quand j'entre ton code le WebBrowser reste blanc.

Je génère le fichier .htm mais lorsque je ferme il s'auto supprime.

Merci
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
6 nov. 2009 à 09:42
dépend du RSS que tu prends, remarques, j'étais resté sur le flux CS ^^

SaveAFile "c:\DFlux.htm", Text1
visualisation.Navigate "c:\DFlux.htm"

quel interet de générer un tel fichier temporaire ?

visualisation.navigate "about.blank" => pour créer un visualisation.document

visualisation.document.Write GetNodeText("description", oNode)
visualisation.document.Close

et hop, tout en mémoire ^^
attaque Messages postés 26 Date d'inscription vendredi 23 septembre 2005 Statut Membre Dernière intervention 4 novembre 2009
5 nov. 2009 à 16:57
Non, c'étais bien du html car j'ai ajouter le code " Pas exactement mais presque je l'ai plus :/ ":

Sub SaveAFile(Path, strFile)
On Error Resume Next
Kill Path
Open Path For Output As #1
Print #1, strFile
DoEvents
Close #1
End Sub

Private Sub CcList_ItemClick(ByVal Item As MSComctlLib.ListItem)

Text1.Text = GetNodeText("description", oNode)
visualisation.Visible = True
SaveAFile "c:\DFlux.htm", Text1
visualisation.Navigate "c:\DFlux.htm"
End Sub

C'étais un code du style comme ça et quand la news s'afficher dans le WebBrowser les images, liens etc de la new étais bien afficher.

Merci
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
5 nov. 2009 à 16:51
l'html ? comment se pourrait il ? on se base uniquement sur le RSS (xml) du site.

si tu as vu des balises type <description> etc. c'est le balisage XML, rien d'alarmant.
attaque Messages postés 26 Date d'inscription vendredi 23 septembre 2005 Statut Membre Dernière intervention 4 novembre 2009
5 nov. 2009 à 16:45
Dans ta source les descriptions n'est pas en html enfin j'ai déjà eu la description en html avec ta source hier soir mais plus moyen de renouveler...

j'utiliser le "GetNodeText("description", oNode)" mais quand je sélectionner une new il m'afficher le html de la dernière new et non celle sélectionné.

Merci d'avance
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
5 nov. 2009 à 16:34
la description que en texte...
quels codes HTML t'attendais-tu à trouver ?
attaque Messages postés 26 Date d'inscription vendredi 23 septembre 2005 Statut Membre Dernière intervention 4 novembre 2009
5 nov. 2009 à 16:27
Renfield: Ton code marche nickel mais il pose la description que en texte et non avec les codes html normal?
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
4 nov. 2009 à 09:34
cela dépend du 'oNode' utilisé.

le premier parametre n'est pas le nom du noeud dont extraire la valeur, il s'agit d'une requete XPath.

exemple:

Private Sub CcList_ItemClick(ByVal Item As MSComctlLib.ListItem)
Dim sBuffer As String
sBuffer = GetNodeText("rss/channel/item[title=""" & Item.Text & """]/description")
sBuffer = Replace(sBuffer, vbLf, vbNewLine)
CcTxtDescription.Text = sBuffer
End Sub

en recherchant par exemple un noeud a partir du titre
attaque Messages postés 26 Date d'inscription vendredi 23 septembre 2005 Statut Membre Dernière intervention 4 novembre 2009
4 nov. 2009 à 02:33
Pouvez vous me dire comment faire en sorte que quand je clic sur un sujet, sa description s'ajoute dans un WebBrowser pour voir la description en HTML.

Je crois que c'est cette ligne :
" .SubItems(Columns.Description) = GetNodeText("description", oNode) "

Mais quand j'essaye d'enregistrer un .html avec soi disant la description => GetNodeText("description", oNode)

Il m'enregistre un vide...

Merci d'avance et bravo pour ta source quand même
cs_jle Messages postés 6 Date d'inscription jeudi 27 février 2003 Statut Membre Dernière intervention 22 janvier 2007
22 janv. 2007 à 10:04
Salut,
J'ai une erreur de type :
"Le composant ActiveX ne peut créer l'objet" sur la ligne :
Set moDOM = New DOMDocument40
Alors si vous pouviez m'indiquer ce qui cloche ...
Merci
cs_moustachu Messages postés 1079 Date d'inscription jeudi 14 novembre 2002 Statut Membre Dernière intervention 1 janvier 2012
17 janv. 2007 à 09:05
Bonjour,

Très bien commenté ! Un code à garder en Template ;o)...

++
Moustachu
Rejoignez-nous