Zurück   Flashforum > Flash > ActionScript > ActionScript 3

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 06-12-2010, 17:44   #1 (permalink)
Neuer User
 
Registriert seit: Sep 2007
Beiträge: 7
Kontaktliste durch Tags filtern

Hallo zusammen,

ich arbeite gerade an einem Programm in dem ich durch die Auswahl verschiedener, vordefinierter Bedingungen eine XML-Kontaktliste filtern will.
Mein Ziel ist es, durch 2-5 ausgewählten Bedingungen der gesuchten Konakt aus der Liste zu finden.

Das Problem vor dem ich stehe ist, dass ich die XML-Kontakte nach einer Bedingung durchsuchen kann aber nicht weiß wie ich mehrere Bedingungen integrieren kann.

Hier ist mein aktueller Code in sehr abgespeckter Form. Für jeden Kontakt sollen unbestimmt viele Tags hinzugefügt werden können.

XML:

HTML-Code:
<?xml version="1.0" encoding="utf-8"?>
<contacts>
		<contact name="Max Mustermann">
			<tag>Arbeit</tag>
			<tag>Familie</tag>
		</contact>
		<contact name="Marianne Friedel">
			<tag>Sport</tag>
			<tag>Arbeit</tag>
			<tag>Famile</tag>
			<tag>München</tag>

		</contact>
		<contact name="Paul Fischer">
			<tag>Arbeit</tag>
		</contact>
		<contact name="Lisa Bundschuh">
			<tag>Familie</tag>
			<tag>Stuttgart</tag>
			<tag>Arbeit</tag>
		</contact>
	</contacts>

AS3:
PHP-Code:
var myLoader:URLLoader = new URLLoader();
var 
myURL = new URLRequest("adressen.xml")
myLoader.load(myURL);
myLoader.addEventListener(Event.COMPLETEonLoadComplete);
var 
myXML:XML;

function 
onLoadComplete(evt Event):void {
    
XML.ignoreComments true;        
    
XML.ignoreWhitespace true;
        
    
myXML = new XML(evt.target.data); 
        
    var 
tag1:String "Arbeit";

    var 
contacts:XMLList myXML.contact.(tag == tag1);
    
contacts.(trace(@name));

Für Hilfe wär ich sehr dankbar.

David
davood ist offline   Mit Zitat antworten
Alt 06-12-2010, 18:15   #2 (permalink)
Neuer User
 
Benutzerbild von the binary
 
Registriert seit: Jul 2001
Ort: Berlin | Friedrichshain
Beiträge: 3.561
wie ist es damit ?

ActionScript:
  1. var xml:XML = new XML(<contacts>
  2.         <contact name="Max Mustermann">
  3.             <tag>Arbeit</tag>
  4.             <tag>Familie</tag>
  5.         </contact>
  6.         <contact name="Marianne Friedel">
  7.             <tag>Sport</tag>
  8.             <tag>Arbeit</tag>
  9.             <tag>Famile</tag>
  10.             <tag>München</tag>
  11.  
  12.         </contact>
  13.         <contact name="Paul Fischer">
  14.             <tag>Arbeit</tag>
  15.         </contact>
  16.         <contact name="Lisa Bundschuh">
  17.             <tag>Familie</tag>
  18.             <tag>Stuttgart</tag>
  19.             <tag>Arbeit</tag>
  20.         </contact>
  21.     </contacts>);
  22.  
  23.  
  24. var tag1:String = "Arbeit";
  25. var tag2:String = "Stuttgart";
  26.  
  27. var tags: Array = [tag1, tag2];
  28.  
  29. var data: Array = [];
  30.  
  31. for each (var node:XML in xml.contact) {
  32.    
  33.     for each (var tag:String in tags) {
  34.  
  35.         var tagFound: Boolean = false;
  36.             tagFound = node.tag.contains(tag);
  37.        
  38.         if (tagFound == false)
  39.             break;
  40.     }
  41.    
  42.     if (tagFound)
  43.         data.push(node);
  44. }
  45.  
  46. trace('found '+ data.length +' record(s) for tags: '+ tags );

gruss
__________________
8bm | join ff@BOINC
formpackage.org | audiohunter.de | problematica.de | 8ball-media.de/blog | taikonauten.cn
the binary ist offline   Mit Zitat antworten
Alt 06-12-2010, 18:25   #3 (permalink)
Neuer User
 
Registriert seit: Sep 2007
Beiträge: 7
Vielen Dank für die Antwort... das funktioniert soweit wunderbar.

Kann ich mir auch statt der Anzahl der gefundenen Kontakte auch die Namen der Treffer ausgeben lassen?
davood ist offline   Mit Zitat antworten
Alt 06-12-2010, 19:46   #4 (permalink)
Neuer User
 
Benutzerbild von the binary
 
Registriert seit: Jul 2001
Ort: Berlin | Friedrichshain
Beiträge: 3.561
klar ..
ActionScript:
  1. trace( node.attribute('name') );

ausserdem werden alle treffer im "data" array gespeichert..
somit hast du quasi vollen zugriff auf alle treffer..
__________________
8bm | join ff@BOINC
formpackage.org | audiohunter.de | problematica.de | 8ball-media.de/blog | taikonauten.cn
the binary ist offline   Mit Zitat antworten
Alt 06-12-2010, 20:19   #5 (permalink)
Neuer User
 
Registriert seit: Sep 2007
Beiträge: 7
Nochmal Danke für die Hilfe, es funktioniert alles. Jetzt kann ich wieder weiterarbeiten.

Ich hab zwischenzeitliche eine andere Lösung gehabt bei der ich statt die Ergebnisse statt in ein Array in eine neue XML gespeichert habe, aber im Array ist es mir lieber.
davood ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
as3, kontaktliste, xml auslesen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
array filtern canon ActionScript 2 5 09-01-2010 12:45
Textarea: id des IMG Tags durch klick auf eingebundenen Button ausgeben? kolby ActionScript 2 1 22-02-2007 23:23
HTML Tags filtern ... Jeti ActionScript 1 6 30-09-2006 08:14
textdatei filtern Nightflyer PHP und MySQL 10 05-12-2003 10:56
php, flash und html tags => ich drehe durch!!! arno007 HTML und CSS 2 08-10-2003 10:37


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:52 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele