Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 12-07-2004, 14:01   #1 (permalink)
anotherONE
 
Benutzerbild von multiman02
 
Registriert seit: Jul 2001
Ort: Schweiz
Beiträge: 100
Hilfe:: XML und <br>

Hallo,

Ich bin am . Habe nun den ganzen Morgen gesucht. Schnalle das mit dem array noch nicht lange..
Ich habe eine sehr grosse XML Datei like this:
XML:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<root><ID katalog="Powerline1" kattitelD="Rundsteckverbinder$(ungekapselt)" kattext1D="einpolig, unisoliert" kattext2D="bis 6000A" kattext3D="" kattitelE="Round Connectors%0D(unenclosed)" kattext1E="single-pole, uninsulated" kattext2E="up to 6000A" kattext3E="" kattitelF="Connecteurs cylindriques$(enveloppe ouverte)" kattext1F="unipolaires, non isolés" kattext2F="jusqu'à 6000A" kattext3F=""></ID>
<ID katalog="Powerline2" kattitelD="Rundsteckverbinder$(ungekapselt)" kattext1D="einpolig, unisoliert" kattext2D="bis 6000A" kattext3D="" kattitelE="Round Connectors$(unenclosed)" kattext1E="single-pole, uninsulated" kattext2E="up to 6000A" kattext3E="" kattitelF="Connecteurs cylindriques$(enveloppe ouverte)" kattext1F="unipolaires, non isolés" kattext2F="jusqu'à 6000A" kattext3F=""></ID>
usw...
Nun da man ja nur mit diesem unschönen "CDATA", Html ins xml kriegt, würde ich gerne das "$"-Zeichen im Flash dann mit einem "<br>" auswechseln.
Doch nun bin ich so verwirrt dass ich nicht weis wo ich das machen muss oder soll.
Im Flash habe ich das xml in einem array...

Wo und wie würded Ihr das replace vornehmen?

Wäre froh um Hilfe. Danke

Code:
 
var arrkataloge = new Array();
_root.xmlObjekt = new XML();
_root.xmlObjekt.ignoreWhite = true;
_root.xmlObjekt.onLoad = function(ok)	{	
	if(ok) {
			var kt = _root.xmlObjekt.firstChild;
			kt = kt.firstChild;
			while (kt != null)
			{
				var kiPos = arrkataloge.push({katalog:kt.attributes.katalog});
				arrkataloge[kiPos-1].kattitelD = kt.attributes.kattitelD;
				.......
				arrkataloge[kiPos-1].kattext3F = kt.attributes.kattext3F;
				
				kt = kt.nextSibling;
			}
		}
}
_root.xmlObjekt.load("Katalogetexte.xml");
multiman02 ist offline   Mit Zitat antworten
Alt 12-07-2004, 17:30   #2 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.322
ich bin mir nicht so ganz sicher, ob du weisst was du da machst, bzw. was das werden soll. aber bitte:
Code:
_root.xmlObjekt.onLoad = function(ok) {
	if (ok) {
		var kt = this.firstChild.toString();
		kt = kt.split("$").join("<br>");
		kt.parseXML(kt);
		// ...
	}
};
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 13-07-2004, 07:31   #3 (permalink)
anotherONE
 
Benutzerbild von multiman02
 
Registriert seit: Jul 2001
Ort: Schweiz
Beiträge: 100
Also Danke erstmal.

Ist eben ein grösseres Projekt bei dem ich 3-sprachige Katalog Titelbilder darstellen muss. Weils so viele sind hab ich die Texte Im XML. Im "Mutterfilm"
per Knopfdruck das Titelbild reinladen und texte darauf.. usw.

Nun hab ich das gemacht doch irgend wie kann ich nun das Array nicht mehr ansprechen. Im "Variablen auflisten" kommt auch nix mehr?
wie komme ich nun zu dem Neuen, mit <br> Werten?
multiman02 ist offline   Mit Zitat antworten
Alt 13-07-2004, 07:40   #4 (permalink)
Flashaholic
 
Benutzerbild von atothek
 
Registriert seit: Feb 2003
Ort: Berlin
Beiträge: 1.459
was ist gegen CDATA einzuwenden ???
__________________
TVNEXT Solutions
atothek ist offline   Mit Zitat antworten
Alt 13-07-2004, 07:49   #5 (permalink)
anotherONE
 
Benutzerbild von multiman02
 
Registriert seit: Jul 2001
Ort: Schweiz
Beiträge: 100
Nur für ein Umbruch im XML. Ist das nicht möglich ohne dass ganze auf den Kopf zu stellen? Bei CDATA müsste ich doch die ganze Hierarchie umstrukturieren oder? Mein XML ist noch viel grösser als die beiden Zeilen oben.
Wie würdest Du das machen, nur um ein <br> zu bekommen?

MfG
multiman02 ist offline   Mit Zitat antworten
Alt 13-07-2004, 08:04   #6 (permalink)
Flashaholic
 
Benutzerbild von atothek
 
Registriert seit: Feb 2003
Ort: Berlin
Beiträge: 1.459
na das ist doch kein unterschied
ob ich nun

<textknoten>mein Text</textknoten>
<textknoten><![CDATA[mein Text]]></textknoten>

im XML stehen hab! beim verarbeiten sind beide gleich

ein kleines beispiel

XML Struktur
Code:
<inhalt>
<textknoten>inhalt knoten 1</textknoten>
<textknoten><![CDATA[inhalt knoten 2]]></textknoten>
</inhalt>

PHP-Code:
// AS
this.x=new XML();
this.x.ignoreWhite=true;
this.x.onLoad = function(){
    
trace(this.firstChild.childNodes[0].firstChild.nodeValue);
    
trace(this.firstChild.childNodes[1].firstChild.nodeValue);
}
this.x.load("test.xml"); 
du kannst dir auch einfach mit[Strg+Alt+v] die vars auflisten und wirst folgendes sehen

Code:
Variable _level0.x = [Objekt #1] {
    
      <inhalt>
        <textknoten>
          inhalt knoten 1
        </textknoten>
        <textknoten>
          inhalt knoten 2
        </textknoten>
      </inhalt>
  }
das CDATA gibt es gar nicht mehr ! A HA!
ich hoffe das hat dir geholfen
__________________
TVNEXT Solutions
atothek ist offline   Mit Zitat antworten
Alt 13-07-2004, 08:27   #7 (permalink)
anotherONE
 
Benutzerbild von multiman02
 
Registriert seit: Jul 2001
Ort: Schweiz
Beiträge: 100
Ja Danke, du hast schon recht nur dachte ich, was ist wenn ich z.B. So ein XML habe, dass welches von anderen Mitarbeitern nachgeführt werden muss wenns ein Katalog gibt oder Ich unters "Trämli" komme . Dann wäre das relativ übersichtlicher für Leute die weder Flash noch XML verstehen.
Ich weis nun auch nicht was ich machen soll. Eigentlich bräuchte ich nur ein Umbruch, <br> oder \n\r in diesem XML.
Und das split"$" join"<br>" geht irgend wie nicht?


Code:
Ein Katalog von 40:
<ID katalog="Powerline3" kattitelD="Rundsteckverbinder$Ø 10mm,$einpolig, isoliert,$mit Bajonettverriegelung" kattext1D="bis 1000V, 250A" kattext2D="Ø 10mm, Ø 14mm mit$Arretierungssystem" kattext3D="bis 1000V, 300A" kattitelE="Round Connectors$Ø 10mm,$single-pole, insulated,$with bayonet locking" kattext1E="up to 1000V, 250A" kattext2E="Ø 10mm, Ø 14mm with$Locking system" kattext3E="up to 1000V, 300A" kattitelF="Connecteurs cylindriques$Ø 10mm,$unipolaires, isolés, avec$verrouillage baïonnette" kattext1F="jusqu’à 1000V, 250A" kattext2F="Ø 10mm, Ø 14mm avec$système de verrouillage" kattext3F="jusqu’à 1000V, 300A"></ID>
multiman02 ist offline   Mit Zitat antworten
Alt 13-07-2004, 08:40   #8 (permalink)
Flashaholic
 
Benutzerbild von atothek
 
Registriert seit: Feb 2003
Ort: Berlin
Beiträge: 1.459
also bei mir geht der replace wunderbar

PHP-Code:
this.x=new XML();
this.x.ignoreWhite=true;
this.x.onLoad = function(){
    var 
kt;
    
kt this.firstChild.childNodes[0].attributes.test.split("$").join("<br>");
    
trace(kt);
    
trace(this.firstChild.childNodes[0].firstChild.nodeValue);
    
trace(this.firstChild.childNodes[1].firstChild.nodeValue);
}
this.x.load("test.xml"); 
Code:
<?xml version="1.0" encoding="UTF-8" ?>
<inhalt>
<textknoten test="ein wert$und umgebrochen ein 2 wert">inhalt knoten 1</textknoten>
<textknoten><![CDATA[inhalt knoten 2]]></textknoten>
</inhalt>
__________________
TVNEXT Solutions
atothek ist offline   Mit Zitat antworten
Alt 13-07-2004, 08:56   #9 (permalink)
anotherONE
 
Benutzerbild von multiman02
 
Registriert seit: Jul 2001
Ort: Schweiz
Beiträge: 100
ENTLICH!

Super danke atothek, habs nun entlich geschafft mit dem split, jedoch nicht in <br> sondern in \n.
Sorry war vielleicht ein bisschen faul, aber schon seit 2 Tagen an diesem Problem.

Thanks and a nicer day
multiman02 ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 16:07 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele