IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

[XML] chercher un mot dans un XML


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de sami_c
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Mai 2002
    Messages
    764
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Directeur des systèmes d'information

    Informations forums :
    Inscription : Mai 2002
    Messages : 764
    Par défaut [XML] chercher un mot dans un XML
    Salut,
    J'ai mon XML suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?xml version="1.0" encoding="ISO-8859-1" ?> 
     <filtre>
       <mot>toto</mot>
       <mot>titi</mot>
       <mot>un autre mot</mot>
     </filtre>
    je voudrais ecrire la fonction TROUVE qui prend en paramètre un texte, si ce dernier existe dans le fichier xml elle retourne TRUE, sinon FALSE
    PS : sachant que la forme de mon XML est très simple, je peux parfaitement le remplacer par un fichier texte tout simple dont le contenu est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    toto
    titi
    un autre mot
    pensez-vous que la fonction TROUVE sera plus rapide avec ce fichier qu'avec un fichier XML?? si oui merci de me donner son code au lieu de celui de la version XML

  2. #2
    Membre chevronné
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    400
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 400
    Par défaut
    Bonsoir

    Le code suivant doit marcher avec ton xml (ou un fichier txt,html,aspx... ):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Dim sFichier as string="C:/mofichierquitue.xml"
    Dim oEncodageANSI As System.Text.Encoding = System.Text.Encoding.GetEncoding(1252)
    Dim oStreamReader As New IO.StreamReader(sFichier, oEncodageANSI)
    Dim sContenuFichier As String = ""
    sContenuFichier = oStreamReader.ReadToEnd()
    oStreamReader.Close()
    If sContenuFichier.contains("titi") then
    'Contient titi
    End If
    A noter que la définition d'encodage n'est pas forcément nécessaire, mais ça permet d'être sûr de récupérer les caractères comme éàè ...
    Un fichier texte prend moins de place qu'un xml puisqu'il ne contient pas tous les caractères de balises, vu que c'est du web, gain de place=gain de bande passante .

    Bonne soirée

  3. #3
    Membre éclairé Avatar de sami_c
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Mai 2002
    Messages
    764
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Directeur des systèmes d'information

    Informations forums :
    Inscription : Mai 2002
    Messages : 764
    Par défaut
    j'ai utilisé un fichier texte, et j'ai l'erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Compiler Error Message: BC30456: 'contains' is not a member of 'String'.
    l'erreur est à la ligne suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If sContenuFichier.contains( "mot2" ) then
    PS : je suis en vb et non en c#

  4. #4
    Membre chevronné
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    400
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 400
    Par défaut
    Bonjour

    bizarre, tu as quelle version du framework .Net ?

    A bientôt

  5. #5
    Membre éclairé Avatar de sami_c
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Mai 2002
    Messages
    764
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Directeur des systèmes d'information

    Informations forums :
    Inscription : Mai 2002
    Messages : 764
    Par défaut
    j'ai trouvé ça dans une page d'erreur :
    Version Information: Microsoft .NET Framework Version:1.1.4322.2300; ASP.NET Version:1.1.4322.2300
    j'ai testé ce bout de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
            '-Filtre--------------------------
                Try
                    Dim sr As StreamReader = New StreamReader("filtre.txt")
                    Dim line As String
                    Do
                        line = sr.ReadLine()
                        if line = pseudo.text then
                            lab_ok.text = line
                        end if
                    Loop Until line Is Nothing
                    sr.Close()
                Catch EVE As Exception
                    Response.Redirect("erreur_ouverture_fichier_filtre.html")
                End Try
    et bein ça va directement vers la page erreur_ouverture_fichier_filtre.html !! pourtant le fichier existe bien au meme endroit que le script !!!!

  6. #6
    Membre chevronné
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    400
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 400
    Par défaut
    Re bonjour

    - La fonction Contains n'existe que dans le framework .Net 2.0 .

    -Pour ce qui est de l'erreur, tu confonds chemin physique et chemin virtuel...
    -chemin physique="C:/montext.txt"
    -chemin virtuel="montext.txt"

    Le contructeur du Reader ne marche qu'avec un chemin physique...

    Tu peux récupérer ce chemin avec la fonction suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Server.MapPath(".")
    Si elle existe en .Net 1.1 , elle te renvoie le chemin physique de la racine de ton site.

    Voilà

    A bientôt

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. outil pour remplacer des mots dans un xml
    Par hedibox dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 10/10/2013, 12h45
  2. [DOM] Chercher une valeur dans un xml DOM
    Par pierrepeso dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 15/08/2013, 18h18
  3. Réponses: 11
    Dernier message: 07/02/2006, 16h37
  4. Chercher des mots dans une ligne
    Par chemouz dans le forum C++
    Réponses: 1
    Dernier message: 17/12/2005, 12h42
  5. [XML][XSL]probleme html dans balise xml
    Par chateau64 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 02/12/2005, 11h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo