Avatar billede kasper3 Nybegynder
04. november 2008 - 16:35 Der er 7 kommentarer og
1 løsning

laver dobbelt linieskift i Flash ved hentning af tekst fra XML

Hej

Jeg har det problem at når jeg laver linieskift i min XML tekst, så laver den dobbelt linieskift i min Flash når teksten hentes ind i mit dynamisk tekstfelt.

Hvordan kan jeg løse dette?
Avatar billede maqhem Nybegynder
04. november 2008 - 17:02 #1
Du skal behandle dit XML, før du outputter det. Hvis dit XML-objekt er representeret ved Xml, så skal du bare have følgende stykke kode, og så duer det:

Xml.data = Xml.data.split("\r").join("");

Det er fordi, din tekstfil/xml-fil skriver linjeskift som \r\n, men Flash læser \r\n som to linjeskift. Så vi sletter bare \r, så der kun står \n tilbage. \n står for "new line", og \r står for "retarded abbrevilation".
Avatar billede kasper3 Nybegynder
04. november 2008 - 19:00 #2
Kan ikke få det til at virke, hvad vil du erstatte med Xml og hvor skal det sættes ind?



//Create the loader, set dataFormat to text
//and listen when data is loaded
var loader:URLLoader = new URLLoader()
loader.dataFormat = URLLoaderDataFormat.TEXT
loader.addEventListener(Event.COMPLETE, onLoadXML)
loader.load(new URLRequest("anastasio.xml"))


loader.data = loader.data.split("\r").join("");


function onLoadXML(ev:Event){
  try{
        //Convert the downloaded text into an XML
        var myXML:XML = new XML(ev.target.data)
        var list:XMLList = myXML..title
        //walks the list and show in textfields
        for(var i=0; i<list.length(); i++){
            //trace(list[i].@name+"-"+list[i].comments+" -"+list[i].comments+" - "+list[i].image)
            this["Title_txt"+i].text = list[i].@overskrift
           
            this["Dato_txt"+i].text = list[i].dato
           
            this["Comments_txt"+i].text = list[i].besked
            var loader:Loader = new Loader()
            this["holder_mc"+i].addChild(loader)
            loader.load(new URLRequest(list[i].billede))       
        }
    } catch (e:TypeError){
        //Could not convert the data, probavlu because
        //because is not formated correctly
        trace("Could not parse the XML")
        trace(e.message)
    }
}
Avatar billede maqhem Nybegynder
04. november 2008 - 20:03 #3
Du skal først modificere "data", når den er blevet sat til noget, og det er den først i din funktion onLoadXML:

//Create the loader, set dataFormat to text
//and listen when data is loaded
var loader:URLLoader = new URLLoader()
loader.dataFormat = URLLoaderDataFormat.TEXT
loader.addEventListener(Event.COMPLETE, onLoadXML)
loader.load(new URLRequest("anastasio.xml"))


loader.data = loader.data.split("\r").join("");


function onLoadXML(ev:Event){
  try{
        //Convert the downloaded text into an XML
        var myXML:XML = new XML(ev.target.data.split("\r").join(""))
        var list:XMLList = myXML..title
        //walks the list and show in textfields
        for(var i=0; i<list.length(); i++){
            //trace(list[i].@name+"-"+list[i].comments+" -"+list[i].comments+" - "+list[i].image)
            this["Title_txt"+i].text = list[i].@overskrift
           
            this["Dato_txt"+i].text = list[i].dato
           
            this["Comments_txt"+i].text = list[i].besked
            var loader:Loader = new Loader()
            this["holder_mc"+i].addChild(loader)
            loader.load(new URLRequest(list[i].billede))       
        }
    } catch (e:TypeError){
        //Could not convert the data, probavlu because
        //because is not formated correctly
        trace("Could not parse the XML")
        trace(e.message)
    }
}
Avatar billede kasper3 Nybegynder
05. november 2008 - 20:41 #4
Tusind tak det virker nu :) virkede dog ikke da jeg bruge:

loader.data = loader.data.split("\r").join("");

men indsatte i stedet kun .split("\r").join("")) og så virkede det
Avatar billede kasper3 Nybegynder
05. november 2008 - 20:41 #5
her er points
Avatar billede kasper3 Nybegynder
05. november 2008 - 20:42 #6
her
Avatar billede kasper3 Nybegynder
05. november 2008 - 20:50 #7
maghem
Avatar billede maqhem Nybegynder
06. november 2008 - 07:50 #8
Mit navn staves "MAQHEM", tak.
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