- Home
- Categorie
- Digital Marketing
- Grafica, Visual Design & UX
- XML e HTML <tag>
-
XML:
<?xml version="1.0" encoding="UTF-8"?> <MENU> <ITEM id="home" url="www.link1.com" text="testo del link"></ITEM> <ITEM id="gallery" url="www.link2.com" text="testo2 del link"></ITEM> <ITEM id="portfolio" url="www.link3.com" text="testo3 del link"></ITEM> <ITEM id="contacts" url="www.link4.com" text="testo4 del link"></ITEM> <ITEM id="visit us" url="www.link5.com" text="testo5 del link"></ITEM> </MENU>
actionscript:
var id_array:Array=new Array(); var url_array:Array=new Array(); var text_array:Array=new Array(); var file_xml:XML=new XML(); file_xml.ignoreWhite=true; file_xml.onLoad=function(yes:Boolean):Void { if(yes) { var n:Number=this.firstChild.childNodes.length; for(var i:Number=0;i<n;i++) { id_array.push(this.firstChild.childNodes*.attributes['id']); url_array.push(this.firstChild.childNodes*.attributes['url']); text_array.push(this.firstChild.childNodes*.attributes['text']); } trace(id_array); trace(url_array); trace(text_array); } else trace('XML error!'); } file_xml.load('test.xml');
-
OK...ho capito quello che vuoi dire con l'esempio ma se guardi bene i file e il codice che ho postato non e' che sia tanto differente di quello che hai postato adesso tu...!!!
Adesso provo a spiegarmi cosi...Come faccio a ottenere un "Nodo Attributo" in XML senza cancellare quello che ho adesso che e' "MENU".
Mi spiego meglio.
Se io scrivo in action script :
var id_array:Array=new Array(); var url_array:Array=new Array(); var text_array:Array=new Array(); var file_xml:XML=new XML(); file_xml.ignoreWhite=true; file_xml.onLoad=function(yes:Boolean):Void { if(yes) { var n:Number=this.firstChild.childNodes.length; for(var i:Number=0;i<n;i++) { id_array.push(this.firstChild.childNodes*.attributes['id']); url_array.push(this.firstChild.childNodes*.attributes['url']); text_array.push(this.firstChild.childNodes*.attributes['text']); } trace(id_array); trace(url_array); trace(text_array); } else trace('XML error!'); } file_xml.load('test.xml');
in XML mi trovo a scrivere :
<MENU> <ITEM id="home" url="www.link1.com" text="testo del link"></ITEM> <ITEM id="gallery" url="www.link2.com" text="testo2 del link"></ITEM> <ITEM id="portfolio" url="www.link3.com" text="testo3 del link"></ITEM> <ITEM id="contacts" url="www.link4.com" text="testo4 del link"></ITEM> <ITEM id="visit us" url="www.link5.com" text="testo5 del link"></ITEM> </MENU>
Adesso se io vorrei qualcosa di tipo cosi :
<?xml version="1.0" encoding="UTF-8"?> //inizio primo settore del menu <MENU1> <ITEM id="link1" url="www.link1.com" text="testo del link"></ITEM> <ITEM id="link2" url="www.link2.com" text="testo2 del link"></ITEM> <ITEM id="link3" url="www.link3.com" text="testo3 del link"></ITEM> <ITEM id="link4" url="www.link4.com" text="testo4 del link"></ITEM> <ITEM id="link5" url="www.link5.com" text="testo5 del link"></ITEM> </MENU1> //fine primo settore menu // inizio secondo settore menu <MENU2> <ITEM id="link1" url="www.link1.com" text="testo del link"></ITEM> <ITEM id="link2" url="www.link2.com" text="testo2 del link"></ITEM> <ITEM id="link3" url="www.link3.com" text="testo3 del link"></ITEM> <ITEM id="link4" url="www.link4.com" text="testo4 del link"></ITEM> <ITEM id="link5" url="www.link5.com" text="testo5 del link"></ITEM> </MENU2> //fine secondo settore menu //ecc...
Dando comunque i dati alle stesse variabili e alle stesse caselle di testo ma cambiando ad ogni (settore del menu).
CMQ mi sarebbe moolto di aiuto se guarderesti il file .zip che ho postato e apri il file .swf ti accorgi che c'e' un menu quadrato con 3 campi di testo:
1 il titolo
2 titolo temporaneo della riga (che poi diventa il titolo principale n1)
3 descrizione (qui voglio aggiungere i miei link con l'XML)Per come' adesso descritto il menu funziona cosi che il link va a coprire l'intero movieclip chiamato Link con la funzione ```
this._mc.Link.onMouseUp = function () {
if (this.hitTest(_xmouse, _ymouse, true) && (this._parent.$active == true)) {
getURL(this.$Link, this.$Tg);
}all'interno a un campo txt dinamico che accetta la descrizione dal file XML infatti l'instanza e Description. Scusa forse faccio confusione ma penso che per te sarebbe facile riuscire a risolvere questo problema solo che se non ci intendiamo facciamo solo confusione. Perfavore fammi sapere se hai capito cosa voglio fare con questo menu.
-
Ok, con l'xml che hai scritto tu,cioè questo:
[LEFT]<?xml version="1.0" encoding="UTF-8"?> //inizio primo settore del menu <MENU1> <ITEM id="link1" url="www.link1.com" text="testo del link"></ITEM> <ITEM id="link2" url="www.link2.com" text="testo2 del link"></ITEM> <ITEM id="link3" url="www.link3.com" text="testo3 del link"></ITEM> <ITEM id="link4" url="www.link4.com" text="testo4 del link"></ITEM> <ITEM id="link5" url="www.link5.com" text="testo5 del link"></ITEM> </MENU1> //fine primo settore menu // inizio secondo settore menu <MENU2> <ITEM id="link1" url="www.link1.com" text="testo del link"></ITEM> <ITEM id="link2" url="www.link2.com" text="testo2 del link"></ITEM> <ITEM id="link3" url="www.link3.com" text="testo3 del link"></ITEM> <ITEM id="link4" url="www.link4.com" text="testo4 del link"></ITEM> <ITEM id="link5" url="www.link5.com" text="testo5 del link"></ITEM> </MENU2> //fine secondo settore menu //ecc...[/LEFT]
devi usare 2 cicli innestati e degli arrays bidimensionali.
Con actionscript lo lavori in questo modo:
var file_xml:XML=new XML(); file_xml.ignoreWhite=true; file_xml.onLoad=function(yes:Boolean):Void { if(yes) { var n:Number=this.childNodes.length; for(var i:Number=0;i<n;i++) { trace(this.childNodes*.childNodes.length); var s:Number=this.childNodes*.childNodes.length; for(var j:Number=0;j<s;j++) { trace(this.childNodes*.childNodes[j].attributes['url']); } } } else trace('XML error!'); } file_xml.load('test.xml');
-
Scusami se mi sto facendo ripetitivo ma io credo che stiamo facendo confusione.
Se vai qui vedi il menu (cosi come' adesso senza modifiche)
http://apachepc.com/menu.swfAdesso se guardi bene il menu dove ce scritto Submenu 1 voglio inserire dei COLLEGAMENTI LINKS del tipo :
Menu Hot Buys
Submenu 1"link del testo=www.submenulink1.com target=_blank"
Submenu 2"link del testo=www.submenulink2.com target=_blank"
Submenu 3"link del testo=www.submenulink3.com target=_blank"
Submenu 4"link del testo=www.submenulink4.com target=_blank"Questo avviene per ogni voce del menu tipo
Menu Hardware
Submenu 1"link del testo=www.submenulink1.com target=_blank"
Submenu 2"link del testo=www.submenulink2.com target=_blank"
Submenu 3"link del testo=www.submenulink3.com target=_blank"
Submenu 4"link del testo=www.submenulink4.com target=_blank"Eccc....cc....ecc...con gli altri menu.
Pensi che mi sono spiegato bene questa volta???
Pensi che posso fare una cosa del genere???
Pensi che mi potresti aiutare in un modo molto pratico???PS: scusami se sono ripetitivo e scusa per il tempo che ti faccio perdere ma penso che tu potresti "semplicemente" trovare il modo per far cio' che ti sto chiedendo,,, se riusciremo a capirci...
Cmq per qualsiasi chiarezza fai riferimento al codice riportato nel post o nel file .zip
-
Ciao Enzo,
scusa ma io son sempre più convinto che tu non ascolti e non studi il codice che ti ho dato.
Io non sono quì per creare le applicazioni di chi ne ha bisogno. Siete tanti e cerco di fare del mio meglio.
Io ti do degli input e penso di avertene dati parecchi.
-
OK Flep hai ragione...
Ma io ho provato e riprovato il codice che mi hai dato tu , ma non riesco ad ottenere quello che io voglio.
Il codice che ho postato non lho fatto io, perquesto non e facile modificarlo , perche quando provo a modificare qualcosa non mi funsiona un altra.Io pensavo che per uno come te che mangia pane e action script sarebbe stato un tantino piu' facile capire dov'e il problema e come risolverlo.
Cmq.
Se puoi almeno rivedere il mio codice e cercare di darmi una soluzione concreta "se puoi"...
Tipo :
esempio:"Se vuoi ottenere piu' link in quel riquadro che parlavi tu devi usare gli array , che li ottieni cosithis.Descriptions=New Array(); for(var j:Number=0;j<s;j++)
e poi se vuoi inserire dati dal'XML prova cosi...ecc.ecc.ecc...
Ti ringrazio comunque per quello che mi hai suggerito e per quello che forse mi suggerirai.
-
...ma non riesco ad ottenere quello che io voglio.
Io pensavo che per uno come te che mangia pane e action script sarebbe stato un tantino piu' facile capire dov'e il problema e come risolverlo.
I forum sono per studiare, discutere ed approfondire aspetti generali.
Anche per dare consigli ovviamente e, nel possibile, piccoli aiuti.Tu Enzo Slash stai chiedendo un servizio.
Flep è un professionista e penso anch'io che, per uno come lui, analizzando il tuo caso e lavorandoci su una giornata, sia possibile trovare un'ottima ed adeguata soluzione.
Ma la collaborazione che stà prestando al ForumGT è relativa alla moderazione, non al fornire servizi gratuiti agli utenti, e mi sembra che nel tuo caso specifico [relativo a te solo, non al forum nell'insieme] abbia già fatto veramente ben oltre del suo meglio.
Qualsiasi lavoro tu faccia, dubito che tu lo offra gratuitamente; se è di una prestazione professionale che necessiti, meglio contattare in pvt qualcuno dei tanti tecnici esperti di questo forum.
Compreso il bravo Flep.
-
Hey Mamilu.
Si ho capito quello che dite tu e flep.
Non voglio assolutamente disturbare nessuno ne tantomeno far perdere giornate intere a nessuno.
L'unica cosa che chiedevo e' che se uno come flep o un tecnico che conosce bene il codice Actionscript si fermasse solo per un minuto (60 secondi) non di piu' per scrivere 2 righe semplici in modo che un (Ignorante) come me riuscirebbe un tantino meglio a capire...
Forse riuscirei nel mio intendo e creare dei semplici link nel mio menu.E in tutto rispetto e con la pretesa che non volgia offendere nessuno.
Penso proprio che flep ne tanto meno un tectnico del forum abbiano guardato i file che ho postato neanche per un istante., e diciamo anche dovuto a quello che non smettevo di postare risposta dicendo ("non ho capito , come posso fare, ecc...ecc...").Cmq ritornando alla verita' e che io sono ancora fermo allo stesso problema di prima o forse un po peggio visto che mi sono confuso un bel po con i codici di flep visto che li ho usati e poi fatto dei casini. (questa non e colpa di flep assolutamente 'voglio precisare' e colpa mia che non so usare bene il codice).
Cmq grazie a tutti e se ce ancora qualcuno che potrebbe in qualche modo riuscire a darmi un consiglio (Pratico) vi sarei molto grato.
Ciao.
-
OK scusate se insisto ma credo di essere vicino alla soluzione del mio problema.
Io ho un actionscript cosi :
Menu.prototype.SetVariables = function() { // Set the vars readed from the xml file this.Root = this.XmlData.childNodes; this.Titles = new Array(); this.Links = new Array(); this.Tg = new Array(); this.Descriptions = new Array(); for (i=0; i<this.Root.length; i++) { if (this.Root*.nodeName.toUpperCase() == "MENU") { this.Nodes = this.Root*.childNodes; for (k=0; k<this.Nodes.length; k++) { this.Item++; this.Titles.push(this.Nodes[k].attributes.id.toString()); this.Links.push(this.Nodes[k].attributes.page.toString()); this.Tg.push(this.Nodes[k].attributes.tg.toString()); this.Descriptions.push(this.Nodes[k].childNodes.toString()); } } }
L'actionscript usato e vecchio 1.0.
E un XML cosi :<MENU> <ITEM id="home" page="pagina1.html" tg="_blank">ccc</ITEM> <ITEM id="works" page="pagina2.html" tg="_blank">I miei lavori, esperimenti e progetti</ITEM> <ITEM id="curriculum" page="pagina3.html" tg="_blank">Il mio curriculum</ITEM> <ITEM id="friends" page="pagina4.html" tg="_blank">Pagina dedicata agli amici</ITEM> <ITEM id="credits" page="pagina5.html" tg="_blank">Onore e gloria a ...</ITEM> <ITEM id="contact" page="pagina6.html" tg="_blank">Come contattarmi ...</ITEM> </MENU>
Ma voglio fare cosi :
<MENUS> <Menu> <ITEM id="home" page="pagina1.html" tg="_blank">pagina1 submenu</ITEM> <ITEM id="works" page="pagina2.html" tg="_blank">pagina2 submenu</ITEM> <ITEM id="curriculum" page="pagina3.html" tg="_blank">pagina3 submenu</ITEM> <ITEM id="friends" page="pagina4.html" tg="_blank">pagina4 submenu</ITEM> </Menu> <Menu> <ITEM id="home" page="pagina1.html" tg="_blank">pagina1 submenu</ITEM> <ITEM id="works" page="pagina2.html" tg="_blank">pagina2 submenu</ITEM> <ITEM id="curriculum" page="pagina3.html" tg="_blank">pagina3 submenu</ITEM> <ITEM id="friends" page="pagina4.html" tg="_blank">pagina4 submenu</ITEM> </Menu> </MENUS>
cosa dovrei cambiare nel mio actionscript?
Dai lo so che ho gia' chiesto troppo ma vorrei risolvere questo incubo che mi tormenta da settimane.Grazie.
-
Volevo solo far sapere che sono cmq riuscito nel mio intendo...
Adesso il mio menu funziona a dovere...Curiosity?Click[url=http://apachepc.com]here
Grazie per tutto l'aiuto che mi avete dato e non...
Un speciale saluto a flep e mamilu.Grazie ragazzi...