[XML - Flash]Dubbele enter bij invoegen ni textfield

Pagina: 1
Acties:
  • 122 views sinds 30-01-2008
  • Reageer

  • Robbeke
  • Registratie: September 2001
  • Laatst online: 29-12-2018
hoi,

Wanneer ik een XMLfile gebruik om tekst in een dynamisch tekstveld te zetten in Flash, dan zet hij voor elke return die in de XML file staat een dubbele return in flash.

bvb:
code:
1
2
3
4
5
6
<hoofd>
  <sub>waarde</sub>
  <nogsub>titel
waarde
  </nogsub>
</hoofd>


In flash laat hij een regel open ipv gewoon naar volgende regel te gaan. In de voorbeeldcode gaat er een lege regel zitten tussen titel en waarde. Mijn bedoeling is dat titel onder waarde komt.
Weet iemand hier een oplossing voor? Is er een bepaald teken voor een return in XML of is dit een instelling bij het textfield die te benaderen is via actionscript?

http://www.tweakers.net/gallery/sys/2314


  • hobbit_be
  • Registratie: November 2002
  • Laatst online: 04-07-2025
tja een enter op zich is al dubieus in een xml document (ie is net nou /r /c of combo). Om zo'n problemen te verbergen gebruik je dus best <br /> maar dat maakt dan wel ineens htmlText van je dynamisch veldje. (of je replaced ie even).

een enter in flash is de zogenaamde "\n".

  • Robbeke
  • Registratie: September 2001
  • Laatst online: 29-12-2018
die "\n" is dus hetzelfde als in PHP en Java :)

Het probleem is dat <br> niet geaccepteerd wordt als ik het zo ingeef in dat XMLdocument en de XMLparser er op vastloopt.

dat is dus geen oplossing vrees ik zo :(

edit: had fout gelezen en <br /> werkt wel degelijk wanneer ik de XML file bekijk met firebird maar de flash XML parser loopt er schijnbaar op vast want hij geeft de inhoud niet meer weer na die <br />

[ Voor 42% gewijzigd door Robbeke op 27-11-2003 16:18 ]

http://www.tweakers.net/gallery/sys/2314


  • Robbeke
  • Registratie: September 2001
  • Laatst online: 29-12-2018
<<foutje>>

[ Voor 99% gewijzigd door Robbeke op 27-11-2003 16:17 ]

http://www.tweakers.net/gallery/sys/2314


  • hobbit_be
  • Registratie: November 2002
  • Laatst online: 04-07-2025
eg:
code:
1
2
3
<xml>
   <text>here is a bunch of text<br />with this on the next line</text>
</xml>


dan doe je: myText.htmlText = getNode("xml/text").toString();

die getNode is niet van AS standaard (maar je begrijpt dat ie die pakt)

werkt al heel tijdje hier

  • Robbeke
  • Registratie: September 2001
  • Laatst online: 29-12-2018
hobbit_be schreef op 27 november 2003 @ 16:54:
eg:
code:
1
2
3
<xml>
   <text>here is a bunch of text<br />with this on the next line</text>
</xml>


dan doe je: myText.htmlText = getNode("xml/text").toString();

die getNode is niet van AS standaard (maar je begrijpt dat ie die pakt)

werkt al heel tijdje hier
dat doet ie dus niet :(

heb dus die breaks ingevoegd in de XMLfile en dan gekeken met mozilla, dan doet hij het goed.
Vervolgens doe ik hetvolgende in flash:
code:
1
2
3
inhoud.html = true;
inhoud.htmlText = 
xmlDoc_xml.firstChild.firstChild.childNodes[i].childNodes[1].childNodes[0].nodeValue.toString();


hetgeen jij voorstelt met getNode(); geeft steeds undefined. ik doe dit dan door tss de haakjes van getnode xmlDoc_xml.first.... in te voegen, al dan niet tussen aanhalingstekens. Maakt niet uit. Hij stopt op de plaats waar de eerste break staat. het path klopt dus wel want hij geeft de juiste tekst weer, alleen stopt bij de break.

Wat doe ik fout?

[ Voor 8% gewijzigd door Robbeke op 27-11-2003 23:50 ]

http://www.tweakers.net/gallery/sys/2314


  • hobbit_be
  • Registratie: November 2002
  • Laatst online: 04-07-2025
je mag dan ook niet de nodeValue pakken maar de node zelve:

ie: xml/text in mijn geval NIET xml/text/nodeValue.toString(); zodoende gaat ie:

code:
1
<text>here is a bunch of text<br />with this on the next line</text> als html text zetten


anders stuur je file even op, ik gebruik <br /> dagdagelijk in meer dan 15 professionele data driven sites...

Verwijderd

<text:encoded><![CDATA[ blaaat blaat bla <br /> blaa blaaaaat ]]></text>

dan kan je gewoon <br /> gaan gebruiken in je XML. Heb je ovirgens ignoreWhite op true gezet?

  • Robbeke
  • Registratie: September 2001
  • Laatst online: 29-12-2018
Verwijderd schreef op 28 november 2003 @ 10:50:
<text:encoded><![CDATA[ blaaat blaat bla <br /> blaa blaaaaat ]]></text>

dan kan je gewoon <br /> gaan gebruiken in je XML. Heb je ovirgens ignoreWhite op true gezet?
_/-\o_ _/-\o_ _/-\o_

Dit werkt. Hartelijk dank hiervoor, had dit nodig voor project voor school en moet dit vanavond indienen en is eindelijk die bug eruit, had me hier ongeluk op gezocht. :o

we hebben nl nog geen XML gezien maar ik wou het bij wijze van uitdaging al wel gebruiken hiervoor, uiteindelijk is dit niet zo geavanceerd, alleen dat ene wist ik niet.

thanks

http://www.tweakers.net/gallery/sys/2314


  • Robbeke
  • Registratie: September 2001
  • Laatst online: 29-12-2018
hobbit_be schreef op 28 november 2003 @ 09:53:
je mag dan ook niet de nodeValue pakken maar de node zelve:

ie: xml/text in mijn geval NIET xml/text/nodeValue.toString(); zodoende gaat ie:

code:
1
<text>here is a bunch of text<br />with this on the next line</text> als html text zetten


anders stuur je file even op, ik gebruik <br /> dagdagelijk in meer dan 15 professionele data driven sites...
volgens mij heeft die encoded er iets mee te maken of anders was het die ignoreWhite die het hem gedaan heeft maar ook hiermee werktte het niet.

Toch bedankt voor je replies

R

http://www.tweakers.net/gallery/sys/2314


  • hobbit_be
  • Registratie: November 2002
  • Laatst online: 04-07-2025
Robbeke schreef op 28 november 2003 @ 13:49:
[...]
volgens mij heeft die encoded er iets mee te maken of anders was het die ignoreWhite die het hem gedaan heeft maar ook hiermee werktte het niet.
Ben al blij dat je probleem is opgelost.

Tja die ignoreWhite, das zo basic dat ik dacht dat je dat al had :). Het probleem van ooit 1 keer een XMLLoader classe te schrijven en die dan jaren gebruikt :).

Normaliter is die [[CData]] echt niet nodig en we doen het vooral daarom omdat nogal rot werkt met XSLT. (en voor de mensen die de input doen ;) ). Overigens als je

code:
1
2
3
4
<xml>
   <text>hello
en dit na een return</text>
</xml>


dan zou het ook al moeten gaan btw (ie zonder htmlText enzo).
Pagina: 1