Avatar billede larsbaun Nybegynder
11. januar 2003 - 13:42 Der er 26 kommentarer og
1 løsning

XML : myxml [2] .Child.nodeValue !

Hvad skal følgende line laves om til hvis det er næste "afsnit" jeg vil vise.

myxml [2] .Child.nodeValue

dvs. nu vises første headline og der er næste headline jeg vil vise .

Her er min xml :

<?xml version="1.0" encoding="ISO-8859-1"?>
<allnews>
  <news id="12">
  <dato>12/12/02</dato>
  <headline>headline 12 text</headline>
  <subhead>subheadline 12 text</subhead>
  </news>
  <news id="11">
  <dato>11/11/02</dato>
  <headline>headline 11 text</headline>
  <subhead>subheadline 11 text </subhead>
  </news>
</allnews>

Lars
Avatar billede barklund Nybegynder
13. januar 2003 - 09:41 #1
Flash5 eller MX? Og har du alle de viste mellemrum i din xml-fil eller er det hele ud i en lang køre (som det bør være)
Avatar billede larsbaun Nybegynder
13. januar 2003 - 17:42 #2
jeg arbejder i mx !

Jeg har fundet et eks. på flashkits hjemmeside, som jeg arbejder ud fra, og der står det hele på en lang linie, men i virkelighden står min xml som følgende :

<?xml version="1.0" encoding="ISO-8859-1"?>
<allnews>
  <news id="12">
  <dato>12/12/02</dato>
  <headline>headline 12 text</headline>
  <subhead>subheadline 12 text</subhead>
  </news>
  <news id="11">
  <dato>11/11/02</dato>
  <headline>headline 11 text</headline>
  <subhead>subheadline 11 text </subhead>
  </news>
</allnews>


, hvad er forskellen ?

Det jeg godt ville kunne gøre er i virkelighden bare, at hente specifik data`er fra min xml.

f.eks. : hent headline teksten under news id=11 ind i et movieclip og subhead ind i et andet ?

/lars
Avatar billede barklund Nybegynder
13. januar 2003 - 17:53 #3
Du bliver også nødt til at smide al den kode, som parser data igennem...

Ovenstående myXML-reference giver ikke nogen mening og jeg kan ikke lige gennemskue hvor man står for at man kan komme hen til "headline 12 text" men det er måske bare mig...
Avatar billede larsbaun Nybegynder
13. januar 2003 - 20:50 #4
Her er hele min xml. Det er kun test tekst, men opbygningen er rigtig.

<?xml version="1.0" encoding="ISO-8859-1"?>
<allnews>
  <news id="12">
  <dato>12/12/02</dato>
  <headline>headline 12 text eksempel</headline>
  <subheadline>subheadline 12 text eksempel</subheadline>
  <smalltext>smalltext 12 text eksempel</smalltext>
  <content>content 12 text eksempel</content>
  <file type="gif">pic12.gif</file>
  </news>

  <news id="11">
  <dato>11/12/02</dato>
  <headline>headline 11 text eksempel</headline>
  <subheadline>subheadline 11 text eksempel</subheadline>
  <smalltext>smalltext 11 text eksempel</smalltext>
  <content>content 11 text eksempel</content>
  <file type="gif">pic11.gif</file>
  </news>

  <news id="10">
  <dato>10/12/02</dato>
  <headline>headline 10 text eksempel</headline>
  <subheadline>subheadline 10 text eksempel</subheadline>
  <smalltext>smalltext 10 text eksempel</smalltext>
  <content>content 10 text eksempel</content>
  <file type="gif">pic10.gif</file>
  </news>

  <news id="9">
  <dato>09/12/02</dato>
  <headline>headline 9 text eksempel</headline>
  <subheadline>subheadline 9 text eksempel</subheadline>
  <smalltext>smalltext 9 text eksempel</smalltext>
  <content>content 9 text eksempel</content>
  <file type="gif">pic9.gif</file>
  </news>

  <news id="8">
  <dato>08/12/02</dato>
  <headline>headline 8 text eksempel</headline>
  <subheadline>subheadline 8 text eksempel</subheadline>
  <smalltext>smalltext 8 text eksempel</smalltext>
  <content>content 8 text eksempel</content>
  <file type="gif">pic8.gif</file>
  </news>

  <news id="7">
  <dato>07/12/02</dato>
  <headline>headline 7 text eksempel</headline>
  <subheadline>subheadline 7 text eksempel</subheadline>
  <smalltext>smalltext 7 text eksempel</smalltext>
  <content>content 7 text eksempel</content>
  <file type="gif">pic7.gif</file>
  </news>

  <news id="6">
  <dato>06/12/02</dato>
  <headline>headline 6 text eksempel</headline>
  <subheadline>subheadline 6 text eksempel</subheadline>
  <smalltext>smalltext 6 text eksempel</smalltext>
  <content>content 6 text eksempel</content>
  <file type="gif">pic6.gif</file>
  </news>

  <news id="5">
  <dato>05/12/02</dato>
  <headline>headline 5 text eksempel</headline>
  <subheadline>subheadline 5 text eksempel</subheadline>
  <smalltext>smalltext 5 text eksempel</smalltext>
  <content>content 5 text eksempel</content>
  <file type="gif">pic5.gif</file>
  </news>

  <news id="4">
  <dato>04/12/02</dato>
  <headline>headline 4 text eksempel</headline>
  <subheadline>subheadline 4 text eksempel</subheadline>
  <smalltext>smalltext 4 text eksempel</smalltext>
  <content>content 4 text eksempel</content>
  <file type="gif">pic4.gif</file>
  </news>

  <news id="3">
  <dato>03/12/02</dato>
  <headline>headline 3 text eksempel</headline>
  <subheadline>subheadline 3 text eksempel</subheadline>
  <smalltext>smalltext 3 text eksempel</smalltext>
  <content>content 3 text eksempel</content>
  <file type="gif">pic3.gif</file>
  </news>

  <news id="2">
  <dato>02/12/02</dato>
  <headline>headline 2 text eksempel</headline>
  <subheadline>subheadline 2 text eksempel</subheadline>
  <smalltext>smalltext 2 text eksempel</smalltext>
  <content>content 2 text eksempel</content>
  <file type="gif">pic2.gif</file>
  </news>

  <news id="1">
  <dato>01/12/02</dato>
  <headline>headline 1 text eksempel</headline>
  <subheadline>subheadline 1 text eksempel</subheadline>
  <smalltext>smalltext 1 text eksempel</smalltext>
  <content>content 1 text eksempel</content>
  <file type="gif">pic1.gif</file>
  </news>
</allnews>


Med php vil jeg så med tiden tilføje flere nyheder til min xml.
Det vil ske i toppen af xml`en og derfor stiger news id nummeret for hver nyhed.

Jeg vil kun dog vise de første 3 nyheder på min side.
Og derfor vil jeg kunne hente et specielt område af min xml ind i et movieclip i flash.

I min fla. fil har jeg følgende kode :

xmldata = new XML();

xmldata.load("xmldata.xml");

petlist = new Array;

function myOnLoad () {
    myVar=xmlpetdata.firstChild.firstChild.firstChild.firstChild.nodeValue;
      testVar=xmllist [2].firstChild.nodeValue;
      testVar2=xmllist [2].firstChild.nodeType;
      }
xmldata.onLoad = myOnLoad;
stop();

Men det er så her at jeg vil hente en speciel linie fra min xml ind.

Hvordan henter min billeder ind ?

Jeg håber at det giver nok information til at i kan hjælpe mig.

/Lars
Avatar billede barklund Nybegynder
13. januar 2003 - 21:42 #5
Hvis det virkelig er al din kode, så kan det da ABSOLUT ikke virke... Du referer jo i din onLoad til xmlpetdata og xmllist, hvoraf ingen af dem findes...

Hvis du skal initialisere tre movieclips med hver deres stykke xml indeholdende nyhedsdata som ovenstående er det:

xmldata = new XML();
xmldata.onLoad = function(success) {
    if (success) {
        var i, max = 3, top = this.firstChild.childNodes;
        for (i = 0; i < max; i++) {
            _root["news"+i].init(top[i]);
        }
    }
}

Så kan du i dine tre movieclip (der hedder "news0", "news1" og "news2") have følgende kode:

function init(xml) {
    date        = xml.childNodes[0].nodeValue;
    headline    = xml.childNodes[1].nodeValue;
    subheadline = xml.childNodes[2].nodeValue;
    smalltext  = xml.childNodes[3].nodeValue;
    content    = xml.childNodes[4].nodeValue;
    file        = xml.childNodes[5].nodeValue;
}

Du kan IKKE loade gif'er ind. Du kan loade .swf'er ind i både flash4, 5 og MX og jpg'er ind i MX...
Avatar billede larsbaun Nybegynder
13. januar 2003 - 22:52 #6
Min fla ser selvfølig sådan her ud :

xmldata = new XML();
xmldata.load("xmldata.xml");
xmllist = new Array;

function myOnLoad () {
    myVar = xmldata.firstChild.firstChild.firstChild.firstChild.nodeValue;
      myVar2 = xmldata.firstChild.firstChild.firstChild.nodeName;
    myVar3 = xmldata.firstChild.firstChild.firstChild.nextSibling.nodeName;
      myVar4 = xmldata.firstChild.firstChild.firstChild.firstChild.hasChildNodes();
      }
xmldata.onLoad = myOnLoad;
stop();

Jeg har prøvet med det du skrev, men kunne ikke få det til at virke.
Den viste ikke noget data !

/lars
Avatar billede larsbaun Nybegynder
13. januar 2003 - 22:55 #7
2 ting til ....

mht. billederne, de kan det sagtens være jpg`er

Jeg tror det vil være bedst, hvis jeg lavede selv stændige swf for hver nyhed
for så kan jeg lave noget news banner rotation senere ...

/Lars
Avatar billede barklund Nybegynder
13. januar 2003 - 22:59 #8
Det skyldes vel at dine movieclips ikke havde de beskrevne navne eller at dine tekstfelter ikke hedder det samme...

Det er jo kun hjælp til selvhjælp og ikke færdige løsninger man får heromkring... ;o)
Avatar billede larsbaun Nybegynder
13. januar 2003 - 23:26 #9
Jeg tror vi mange der er glade for at der er folk som Jer, der gider at hjælpe os andre når vi er i nød !

Og jeg er klar over at det er selvhjælp, og at man skal gøre en indsats selv ....

Så der er ingen grund til at komme med smarte kommentare ....

Jeg prøver sådan set bare at forstå, den meget påskønnet hjælp du yder.

Så hvis du stadigvæk har lyst til at hjælpe , så skriver den
følgende i mine tekst felter  :

level0.instance14.date
_level0.instance14.headline
_level0.instance14.subheadline
_level0.instance14.smalltext
_level0.instance14.content

og det samme med de andre, bare med 13 og 12

Hvad jeg gør galt ved jeg ikke !

/Lars
Avatar billede barklund Nybegynder
13. januar 2003 - 23:43 #10
Hmm... Der sker vel ingenting, når de ikke har de rigtige instance navne... Klik på dine tre movieclips og tryk Ctrl+I og skriv "news0" og så videre i instance name...
Avatar billede larsbaun Nybegynder
14. januar 2003 - 00:04 #11
Jeg har lavet 3 movieclip med navnene news0 , news1 og news 2

i hvert af movieclip`ne har jeg følgende dynamiske tekst felter :

[      ]  : instance name = date
[      ]  : instance name = headline
[      ]  : instance name = subheadline
[      ]  : instance name = smalltext
[      ]  : instance name = content

Intet sker ... , men hvis jeg giver text felterne et variabel navn også

[      ]  : instance name = date        : var = date
[      ]  : instance name = headline    : var = headline
[      ]  : instance name = subheadline : var = subheadline
[      ]  : instance name = smalltext  : var = smalltext
[      ]  : instance name = content    : var = content

så skriver den følgende :

level0.instance14.date
_level0.instance14.headline
_level0.instance14.subheadline
_level0.instance14.smalltext
_level0.instance14.content

Lige meget hvor jeg trykker på Ctrl+I , dukker Info panelet op !

- Håber at du kan hjælpe mig !

/Lars
Avatar billede barklund Nybegynder
14. januar 2003 - 12:00 #12
Dine tre movieclips mar muligvis navnene "news0" og så videre i library, men det er fuldstændigt ligegyldigt... Det eneste der betyder noget er deres instancenavne (som man fik frem med Ctrl+I i Flash5 men ikke i MX)... Det kan være samme movieclip i library, som du bare trækker ind på scenen tre gange. Du skal altså skrive "news0" i instance feltet i property inspector'en...

Og for tekstfelterne skal du skrive "date" og så videre i var-feltet...
Avatar billede nikolajdu Nybegynder
14. januar 2003 - 13:10 #13
Når den skriver _level0.instance14 Kunne det så være fordi du har skrevet i både 'var' og 'instance' feltet.

Skriver du i var skal du kun bruge variablens navn.

Skriver du i instance skal du bruge :

tekstfelt.text = variabel;
eller i html
tekstfelt.htmlText = variabel;
Avatar billede nikolajdu Nybegynder
14. januar 2003 - 13:12 #14
tekstfelt.text = xml.childNodes[5].nodeValue;

Kunne det f.eks være...
Avatar billede larsbaun Nybegynder
14. januar 2003 - 19:53 #15
Jeg har lavet et movieclip med tekst felterne som barklund beskrev, med de rigtige variabel navne. Dette movie clip trækker jeg 3 gange ind på scenen og giver det instance navnet news0, news1 og news2.

Det virker ikke. Så det er ikke her fejlen er.

Jeg har nok glemt at sige, at jeg har lavet 2 frames, i det første freme har jeg lagt koden der loader xml`en og det andet frame har jeg lagt movieclip`ene.

Så med mindre det er forkert, kan vi nu konstaterer at eks. fra barklund ikke virker...

Mht. Nikolajdu, så er jeg ikke helt med hvad du mener.
Du har ret i at jeg havde skrevet i både var og instance feltet, det er nu rettet og derved vises der ikke nogen tekst overhovdet.

Det er så fordi jeg skal bruge koden :
tekstfelt.text = xml.childNodes[5].nodeValue;

men hvor !
________________

Men alt i alt drejer min problem sig ikke om at få xml daterne ind i flash, men mere om hvordan man går midt ind i sin xml og henter den data ind i flash.

hvordan henter jeg f.eks. følgende ind i flash

  <headline>headline 10 text eksempel</headline>
  <subheadline>subheadline 10 text eksempel</subheadline>
  <file type="jpg">pic10.jpg</file> "selve billedet skal vises"

dvs, nogle af informationerne under <news id="10">

Det er mere det der er mit problem

Og til sidst en lille kommentar til barklund
- hvis det er det du har prøvet at fortælle mig, så undskylder jeg meget ...

/lars
Avatar billede nikolajdu Nybegynder
14. januar 2003 - 19:57 #16
Nu gik jeg ud fra Barklund havde ret i sin antagelse af at værdien kan trækkes ud med : xml.childNodes[5].nodeValue;

Jeg tjekkede det altså ikke efter (han plejer at have ret her)

Hvis du bruger :

tekstfelt.text = xml.childNodes[5].nodeValue; - Så skal du skrive i instance

tekstfelt = xml.childNodes[5].nodeValue; // så er det det kun skrevet i var.

Nu skriver du at movieclips´ene ligger i frame 2 - Så kan du selvfølgelig ikke sætte nogle variabler i dem. Enten må du vente med at sætte variablerne til frame 2 eller flytte dem sammen.
Avatar billede larsbaun Nybegynder
14. januar 2003 - 19:59 #17
Det er følgende fil jeg startede med,
det viser meget godt hvordan man kan hente xml ind i flash,
men som sagt ikke hvordan man henter data midt i en xml.

http://www.flashkit.com/movies/Scripting/XML/XML_Simp-Jander-2680/index.php

hvad hedder det der kommer efter firstChild ?

/lars
Avatar billede larsbaun Nybegynder
14. januar 2003 - 20:44 #18
Jeg er ved at være bange for at man så ikke kan bruge
xml.childNodes[5].nodeValue;
??

For jeg kan ikke få det til at virke.
Avatar billede nikolajdu Nybegynder
15. januar 2003 - 09:33 #19
Hvad med : xmldata.childNodes[5].nodeValue;

Ellers send mig filerne på nikolajdu@hotmail.com - Så kan jeg kigge på dem.
Avatar billede barklund Nybegynder
15. januar 2003 - 11:49 #20
Okay min fejl...

xml.childNodes[5].firstChild.nodeValue;

Jeg har lavet en demo, der virker(!) - har du en email?
Avatar billede barklund Nybegynder
15. januar 2003 - 11:51 #21
Tænk på xml som "forældre" med "børn"... En forældre kan have flere børn med ikke omvendt... En forældre kan også have 0 børn...

Har den børn, så kan du komme ned til dem via childNodes (array), firstChild (xml-object) eller lastChild (xml-object)

Fra børn kan du komme til "søskende" via nextSibling eller previousSibling...

Du kommer tilbage til forældrene via "parentNode"
Avatar billede larsbaun Nybegynder
15. januar 2003 - 17:23 #22
min email er larsbaun@hotmail.com

Tak for forklaringen om forældre og børn ....
Kan man så skrive nextSibling[2] for at komme til direkte til et bestem søskende område ?
Avatar billede barklund Nybegynder
16. januar 2003 - 10:12 #23
nextSibling er IKKE et array, men et nyt xml-object... Derfor hopper du to "søskende" frem ved at skrive nextSibling.nextSibling...

Mail smidt... sammen med dette svar... :o)
Avatar billede barklund Nybegynder
16. januar 2003 - 15:25 #24
Har du fået min mail?
Avatar billede larsbaun Nybegynder
16. januar 2003 - 19:01 #25
Jeg har fået din mail og tak for hjælpen !
Også en meget stor tak til nokolajdu .....
Du har nogle point til gode.

Nu da jeg har kigget din kode igennem barklund, har jeg fundet ud hvorfor mit ikke virkede. Selvfølig var der de rettelser i beskrev men mit ville aldrig komme til at virke da jeg havde en lille bitte tryk fejl - stavefejl - eller hvad man nu skal kalde det. knuur - og en masse bande ord %¤¤%&.

xmldata.load("data.xlm");

Tak for hjælpen begge 2
Avatar billede barklund Nybegynder
16. januar 2003 - 20:19 #26
hoho... den er dum og nogengange umulig at finde... tark for point :o)
Avatar billede nikolajdu Nybegynder
17. januar 2003 - 09:47 #27
:))
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester