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

Flash Discussion :

button rechercher et xml


Sujet :

Flash

  1. #1
    Membre du Club
    Femme Profil pro
    Inscrit en
    Mars 2009
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Mars 2009
    Messages : 190
    Points : 63
    Points
    63
    Par défaut button rechercher et xml
    bonjour,
    je veux realiser un button "rechercher" en flash,alors j'ai preparé un fichier XML pour stocker mes données.
    j'ai crée ce script en button et ça donne de bon result,mais le probleme c'est que le besoin c'est en cherchant le mot il doit afficher son equivalant aussi et non juste ce nom!,et je sais pac comment faire car jamais travailler un xml avec flash. voiçi un extrait du fichier xml et le code de rechercher ,
    et Merci d'avance pour votre aide.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?xml version="1.0" ?>
    <bestof>
    <mot >fete</mot>
    <synonyme>celebration</synonyme>
    <equivalent>Aid</equivalent>
    <img></img>
    <son></son>
    </bestof>
    ***script***

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    String.prototype.contains = function(searchString){
    	return (this.indexOf(searchString) != -1);
    }
    Array.prototype.contains = function(searchValue){
    	var i = this.length;
    	while(i--) if (this[i] == searchValue) return true;
    	return false;
    }
     
    SearchXML = function(nodes, query, useChildElements){
    	var results = [];
    	for (var i=0; i<nodes.length; i++){
    		for (var j=0; j<nodes[i].childNodes.length; j++){
    			currNode = nodes[i].childNodes[j];
    			if (useChildElements.contains(currNode.nodeName)){
    				if (currNode.firstChild.nodeValue.contains(query)){
    					results.push(nodes[i]);
    					break;
    				}
    			}
    		}
    	}
    	return results;
    }
     
    ElementsToSearch = function(){
    	var childElementsToSearch = [];
    	if (search_fields.title_check.checked){
    		childElementsToSearch.push("mot");
    	}
     
    	return childElementsToSearch;
    }
     
    DisplayNodes = function(nodes, field_txt){
    	field_txt.htmlText = "";
    	var entry;
    	var separator = "<br>_______________________<br><br>";
    	for (var i=0; i<nodes.length; i++){
    		entry = "";
    		entry += "<b>"+ nodes[i].childNodes[0].firstChild.nodeValue +"</b>";
    		entry += " by: "+ nodes[i].childNodes[1].firstChild.nodeValue;
    		entry += "<br>"+ nodes[i].childNodes[2].firstChild.nodeValue;
    		if (nodes[i].attributes.url.length){
    			entry += "<br><a href='" + nodes[i].attributes.url;
    			entry += "'><font color='#0000FF'>Read more...</font></a>";
    		}
    		field_txt.htmlText += entry + separator;
    	}
    }
     
    search_highlight = new TextFormat();
    search_highlight.color = 0xFF0000;
    search_highlight.italic = true;
     
    HighlightOccurences = function(str, field_txt, format){
    	if (!str.length) return (0);
    	var start = field_txt.text.indexOf(str);
    	var end = start + str.length;
    	while (start != -1){
    		field_txt.setTextFormat(start, end, search_highlight);
    		start = field_txt.text.indexOf(str, end);
    		end = start + str.length;
    	}
    }
     
     
    var posts_xml = new XML();
    posts_xml.ignoreWhite = true;
    posts_xml.onLoad = function(success){
    	if (success){
    		search_fields._visible = true;
    	}else results_txt.text = "Error loading XML";
    }
    search_fields._visible = false;
    posts_xml.load("bestofposts.xml");
     
    search_fields.title_check.title_txt.text = "Title";
     
    search_fields.search_btn.onRelease = function(){
    	if (search_fields.query_txt.text.length < 3){
    		results_txt.text = "Please use a search term with 3 or more characters.";
    		return (0);
    	}
     
    	var searchElements = ElementsToSearch();
    	var nodesWithQuery =	SearchXML(
    								posts_xml.firstChild.childNodes,
    								search_fields.query_txt.text,
    								searchElements
    							);
     
    	if (nodesWithQuery.length){
    		DisplayNodes(
    			nodesWithQuery,
    			results_txt
    		);
    	}else{
    		results_txt.text = "No results for "+search_fields.query_txt.text+".";
    		return (0);
    	}
     
    	HighlightOccurences(
    		search_fields.query_txt.text,
    		results_txt,
    		search_highlight
    	);
     
    	scrollbar.setScroll(0);
    }
     
    scrollbar.setTarget(results_txt);
    y a pas d'autre solution..il faut apprendre !!

  2. #2
    Membre du Club
    Femme Profil pro
    Inscrit en
    Mars 2009
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Mars 2009
    Messages : 190
    Points : 63
    Points
    63
    Par défaut
    c'est fait
    y a pas d'autre solution..il faut apprendre !!

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

Discussions similaires

  1. Recherche sur xml et résultats pour site Web
    Par broise dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 28/08/2008, 15h01
  2. recherche dynamique xml
    Par Go_Ahead dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 02/07/2008, 14h40
  3. Indexation / Moteur de recherche spécial XML
    Par norkius dans le forum XQUERY/SGBD
    Réponses: 2
    Dernier message: 02/10/2007, 14h23
  4. [DOM XML] Recherche dans xml via php ?
    Par Naoli dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 21/04/2007, 08h54
  5. Recherche dans XML
    Par cerede2000 dans le forum Général JavaScript
    Réponses: 36
    Dernier message: 07/05/2006, 16h44

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