Utilisateur anonyme
-
Modifié le 17 févr. 2008 à 02:00
Utilisateur anonyme -
17 févr. 2008 à 02:00
Bonsoir,
J'ai un programme qui me génère un fichier XML avec des titres de musiques diffusées.
Le problème est que ce programme me génère mon fichier XML avec des titres de chansons comportant des caractères illégaux. Exemple l'éperluette "&" qui est considéré comme illégal dans un fichier XML.
La solution pour ce problème était donc de mettre le titre de la chanson entre des balises <![CDATA[.
En gros j'avais donc fait :
<Musique><![CDATA[ Madonna & Test ]]></Musique>
Plus de problème jusque là, mais ensuite quand je veux récupérer ce résultat avec mon code en ASP.net/VB.net, il ne m'affiche plus rien à cause des balises CDATA
Ma question est donc : Comment récupérer le titre de la chansson entre mes balises <Musique> sans avoir ce problème de caractère illégal quand un titre comporte un "&" ? Je peux modifier le fichier XML mais je ne peux pas changer les titres comportant des caractères illégaux car c'est un programme indépendant qui génère les titres...
Voici mon code ASP.net :
Dim reader As XmlTextReader
Dim i AsInteger
Dim builder As System.Text.StringBuilder = New System.Text.StringBuilder(1024)
Dim NombreElements AsInteger = 0
Try
reader = New XmlTextReader(Server.MapPath("musiques.xml"))
While reader.Read()
SelectCase reader.NodeType
Case XmlNodeType.Element
If reader.HasAttributes Then
For i = 0 To reader.AttributeCount - 1
Response.Write(reader.GetAttribute(i))
Next
Response.Write("
")
EndIf
Case XmlNodeType.Text
litNow.Text = Server.HtmlEncode(reader.Value)
EndIf
EndSelect
EndWhile
Catch ex As Exception
Response.Write("Erreur " & ex.Message)
Finally
reader.Close()
EndTry
cs_coq
Messages postés6350Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 17 févr. 2008 à 00:37
Salut,
Heu, quel est la portion du code censée lire le contenu de l'élément là dedans ?
Musique n'a pas d'attribut, et ne contient pas de noeud de type texte.
Hum, bonne question :)
A vrai dire, j'ai du mal pour lire de l'xml avec asp.net donc j'ai récupéré vite fait un code sur le site que j'ai essayer au plus simple de faire fonctionner...
Techniquement, je devrais tout recommencer pour avoir plus simple ?
En gros, j'ai un fichier xml avec les 10 derniers sons joués, et je veux afficher dans ma page ces 10 derniers sons joués sous forme :
<li>Dernier son joué</li>
<li>Denier son joué 2</li>
<li>Denier son joué 3</li>
<li>Dernier son joué 4</li>
...
En cherchant un peu, peut-être qu'un code du genre serait plus adapté : ?
Dim RootNode as XmlElement = XMLdoc.DocumentElement
Response.Write (RootNode.Attributes("Musique").Value)