Avatar billede limbloogie Nybegynder
11. juli 2005 - 18:36 Der er 6 kommentarer

xml laver 2 newlines/breaklines istedet for 1?

Hej.
Har et problem med xml hvor den laver 2 newlines istedet for en, altså:

Hej

Hej

istedet for:

Hej
Hej

Nogen løsninger?
Jeg loader mit xml ind på dette måde:

_root.tekst = this.firstChild.childNodes[0].childNodes[0].firstChild.nodeValue;
tekst_txt.text = _root.tekst;
xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load(tekst.xml);
Avatar billede or.han Nybegynder
12. juli 2005 - 00:50 #1
Hvis det nu kun hej hej der stod kunne du gøre sådan her:
var skriv0 = "Hej\n\nHej";
var skriv1 = skriv0.split("\n");
var skriv2 = skriv1[0]+"\n"+skriv1[2]
trace(skriv2);

Hehe :D men du vil nok have at det er nok den skal gøre flere gange osv. Nåh men jeg skriver det alligevel, hvis det nu på en eller anden måde kan hjælpe dig...
Avatar billede or.han Nybegynder
12. juli 2005 - 00:58 #2
Eller måske sådan her:
var erstat = "";
var erstatmed = "\n";
var skriv0 = "Hej\n\nHej";
var skriv1 = skriv0.split("\n");
for (i=0; i<skriv1.length; i++) {
    if (skriv1[i] == erstat) {
        skriv1[i] = erstatmed;
    }
}
var skriv2 = skriv1.join("");
trace(skriv2);
Avatar billede or.han Nybegynder
12. juli 2005 - 01:02 #3
Sat sammen med din kode får jeg det til:
var erstat = "";
var erstatmed = "\n";
var skriv0 = this.firstChild.childNodes[0].childNodes[0].firstChild.nodeValue;;
var skriv1 = skriv0.split("\n");
for (i=0; i<skriv1.length; i++) {
    if (skriv1[i] == erstat) {
        skriv1[i] = erstatmed;
    }
}
_root.tekst = skriv1.join("");
tekst_txt.text = _root.tekst;
xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load(tekst.xml);

Men det er bare et vildt gæt. Prøv det og sig om der sker noget...
Avatar billede or.han Nybegynder
12. juli 2005 - 01:03 #4
Ændret:
var erstat = "";
var erstatmed = "\n";
var skriv0 = this.firstChild.childNodes[0].childNodes[0].firstChild.nodeValue;
var skriv1 = skriv0.split("\n");
for (i=0; i<skriv1.length; i++) {
    if (skriv1[i] == erstat) {
        skriv1[i] = erstatmed;
    }
}
_root.tekst = skriv1.join("");
tekst_txt.text = _root.tekst;
xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load(tekst.xml);
Avatar billede olebole Juniormester
12. juli 2005 - 01:23 #5
<ole>

I stedet for diverse panik-løsninger, kunne det måske være en idé at finde udaf, hvorfor det sker - for det er jo en klar fejl  :)

Hvor kommer XML'en fra - og hvordan bruger du den?

/mvh
</bole>
Avatar billede webt Nybegynder
12. juli 2005 - 10:29 #6
Helt enige med ole, ingen grund til at muligt tingeltangel med mindre xml'en genereres sådan og det ikke kan være anderledes fordi en simpelt xml kode med en odentlig xml:
var minXML:XML=new XML();
minXML.ignoreWhite=true;
minXML.onLoad=function(s) {
    if (s) {
        trace(this.firstChild.childNodes[0].firstChild);
    }
}
minXML.load("test.xml");

og xml
<?xml version="1.0" encoding="UTF-8"?>
<node>
<txt>
Dette er en test
test

test
</txt>
</node>

Outputter rigtigt, dog kan det være du har sat for meget line spacing på dit tekstfelt i flash så det bare ser ud som om den dobbeltspacer, klik på format i properties på tekstfeltet og leg med line spacing indstillingen.

Mvh
Martin
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