Lire XML (petit problème parce que c'est du html en fait)
cs_veler
Messages postés723Date d'inscriptiondimanche 26 novembre 2006StatutMembreDernière intervention23 janvier 2013
-
15 juil. 2008 à 15:38
cs_veler
Messages postés723Date d'inscriptiondimanche 26 novembre 2006StatutMembreDernière intervention23 janvier 2013
-
17 juil. 2008 à 10:41
Salut,
Alors voila, il faudrait que je puisse lire un fichier HTML en VB.Net. J'utilise donc la lecture de XML puisque c'est à peu près la même chose.
Mais alors j'ai un problème, c'est que si on a par exemple
Mon Text
ça fonctionne, mais si on a :
Mon Text
là, ça fonctionne plus. Savez-vous comment je peux faire pour qu'il ne se préoccupe pas du fait qu'il y ai une majuscule ou minuscule?
Merci d'avance
@+
*** ebaudoux@club.fr ***
*** ***
A voir également:
Lire XML (petit problème parce que c'est du html en fait)
cs_veler
Messages postés723Date d'inscriptiondimanche 26 novembre 2006StatutMembreDernière intervention23 janvier 20132 15 juil. 2008 à 16:29
Salut,
En utilisant ToUpperInvariant, je suis obligé que les élément ( ou <title> par exemple) soit écrit en majuscule (TITLE donc), et ceux pour la balise d'ouverture et de fermeture.
Si les deux balises sont identiques mais ne sont pas en majuscule, elle ne sont pas lu, et si l'une a une lettre en majuscule et l'autre en entièrement en majuscule par exemple, et bien là j'ai carément une erreur de lecture.
Je me demande pk Microsoft n'a pas fait en sorte de pouvoir lire une balise quelque soit sont format, enfin, au niveau des majuscules et minuscules quoi, bref^^
cs_veler
Messages postés723Date d'inscriptiondimanche 26 novembre 2006StatutMembreDernière intervention23 janvier 20132 15 juil. 2008 à 22:19
Salut,
Alors voila, j'ai laissé tombé le xml et ai fait une lecture normal, qui est dailleur plus rapide (0.02 sec contre 4sec avec la lecture de xml)
J'ai fait ça :
Dim sr As StreamReader = New StreamReader(FileName)
Dim html As String = sr.ReadToEnd.ToLower
Dim uris As String() = New String(-1) {}
Dim deb As Integer = 0
While deb <> -1
' on cherche le début
deb = html.IndexOf("<title>", deb)
If deb <> -1 Then
' on cherche le char de fin...
Dim fin As Integer = html.IndexOf("</title>", deb + 10)
If fin <> -1 Then
Dim len As Integer = fin - deb
' on extrait et on ajoutte
Dim tmp As String() = uris
uris = New String(tmp.Length) {}
' on agrandit l'array de stockage
tmp.CopyTo(uris, 0)
uris(tmp.Length) = html.Substring(deb + ("<title>").Length, len - ("<title>").Length)
End If
deb = fin
End If
End While
' affichage
For Each U As String In uris
MsgBox(U)
Next
sr.Close()
Ca récupère le titre de la page, ça fonctionne très bien mais le seul problème est que le titre est en minuscule, comment puis-je faire pour ne pas changer cette partie là du texte? (le titre)
cs_veler
Messages postés723Date d'inscriptiondimanche 26 novembre 2006StatutMembreDernière intervention23 janvier 20132 17 juil. 2008 à 10:41
Vous avez une solution à ça?
J'ai pensé que je pourrais peux être, après avoir trouvé la valeur de Title, effectuer une recherche dans le texte qui n'est pas tout en majuscule afin de retrouver le texte d'origine (avec les majuscule donc), mais ça risque de poser problème :
en admettant que le valeur cherché est "Nom Du Document", s'il y a plusieur "Nom Du Document" dans le fichier mais qu'il n'est pas écrit exactement comme ça, et bien en gros on se retrouve avec le même problème.