Zurück   Flashforum > Flash > ActionScript > ActionScript 3

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 19-07-2011, 12:13   #1 (permalink)
Neuer User
 
Benutzerbild von flash_newbie
 
Registriert seit: Feb 2007
Beiträge: 174
Question XML erstellen (Header, Kommentare, Schleifen?)

Hi,
ich versuche gemäß
XML - ActionScript® 3.0 Reference for the Adobe® Flash® Platform
eine XML zu erstellen.

Dazu möchte ich aber noch folgendes am Beginn der XML stehen haben (wird letztendlich svg tiny 1.2, deswegen Doctype auskommentiert):

Code:
<?xml version = "1.0" encoding = "UTF-8" standalone = "no"?>
<!DOCTYPE svg [ <!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">] >
Wenn ich das über "meinXML:XML = ..." zuweise, bekomme ich jedoch lauter Fehler. Mir ist nich nicht ganz klar, wie ich in AS3 XML zusammenbastel. Nach diesem Header möchte ich aus meinen gespeicherten Daten über ne Schleife Knoten mit Attributen erstellen.


Vielen Dank


was auch komisch ist:
<svg .... xml:space="preserve">...</svg>
wird zu
<svg .... aaa:space="preserve">...</svg>

Geändert von flash_newbie (19-07-2011 um 12:46 Uhr)
flash_newbie ist offline   Mit Zitat antworten
Alt 19-07-2011, 14:51   #2 (permalink)
Neuer User
 
Registriert seit: Nov 2005
Beiträge: 548
Wenn du XML im Code definierst, wird das nur mit einem einzigen umschließenden Knoten z.B. in der Form var myXml:XML=<root>...</root>; akzeptiert. Versuch dein Beispiel mal mit einer geladenen Textdatei, das sollte gehen.

Zum dynamischen Zusammensetzen gabs vor Kurzem schon Lösungsansätze in diesem Thread:
KML, XML Document Writer
joeydee ist offline   Mit Zitat antworten
Alt 19-07-2011, 14:51   #3 (permalink)
Neuer User
 
Benutzerbild von flash_newbie
 
Registriert seit: Feb 2007
Beiträge: 174
zu dem "aaa"-Problem habe ich folgendes gefunden:

Zitat:
got so mad cause everything else was working, but I’d get weird parsing/casting results, like the XML getting a namespace prefix of “aaa” for all nodes. Weird stuff. I could copy and paste the exact XML into a new file and parse it just fine. Finally, I figured if it wasn’t the XML string, it must of been whatever it was attached to. So, instead of this:

var myXML:XML = event.data as XML;

I did this:

var xmlStr:String = event.data as String;
var my_xml:XML = new XML(xmlStr);

Boo-fing-ya, it worked. My only guess is the by reference was injecting something “else” into the XML object whereas a freshly created String (by val) was good and pure. Once shoved into the XML constructor, it was fine and didn’t contain whatever mess the by ref did.
Flex Chronicles #25: E4X Gotchas | Flex & Flash Consultant – Jesse Warden dot Kizz-ohm

Leider funktioniert dieser Trick bei mir aber nicht

Vielleicht ist das Problem, dass Flash "xml" bereits intern irgendwie für den Namespace hernimmt, und es deswegen ersetzt?

Bis auf den "<?" und den Kommentarteil "<!" schaffe ich es jetzt meine xml zusammenzubauen.
Das sieht in etwa so aus:

Code:
var outputXml:XML = new XML("<svg xmlns="http://www.w3.org/2000/svg" width="5184px" xml:space="preserve" height="2988px" baseProfile="tiny" version="1.2" y="0px" x="0px" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 5184 2988"></svg>");
<--- hier tritt besagter aaa Fehler auf, entsteht nämlich kurioserweise:
Code:
<svg width="5184px" aaa:space="preserve" height="2988px" baseProfile="tiny" version="1.2" y="0px" x="0px" viewBox="0 0 5184 2988" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:aaa="http://www.w3.org/XML/1998/namespace">
Zusammengebaut wird dann so:
Code:
for each ....
 outputXml.appendChild(new XML("<....."));

Geändert von flash_newbie (19-07-2011 um 15:14 Uhr)
flash_newbie ist offline   Mit Zitat antworten
Alt 20-07-2011, 08:51   #4 (permalink)
I'M A CYBORG
 
Registriert seit: Apr 2007
Ort: ---------
Beiträge: 372
die anführungszeichen vor den xml-tags lösen einen fehler aus
kann sein das damit auch die falsche ausgabe verbunden ist da der string so
schon beim 2. anführungszeichen endet.

mfg
speedhost ist offline   Mit Zitat antworten
Alt 21-07-2011, 18:03   #5 (permalink)
Neuer User
 
Benutzerbild von flash_newbie
 
Registriert seit: Feb 2007
Beiträge: 174
Question

Die Anführungszeichen funktionieren schon, solange alles in eine Zeile geschrieben wird. Man muss die anderen dann bloß mit \" verarbeiten (is oben falsch).

Bin immer noch verzweifelt am versuchen, Kommentare einzufügen.

Kann das zwar händisch rüberkopieren, aber is halt blöd.
Jetzt geht es zum Beispiel wieder um das hier, was am Anfang der XML hin soll

Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist
  PUBLIC "-//Apple/DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
Wenn ich nur den <! Teil als String übergebe wird nicht gemeckert, aber er gibt es auch nicht aus.
XML.ignoreComments = false;
XML.ignoreProcessingInstructions = false; sind beide eigentlich gesetzt

Geändert von flash_newbie (21-07-2011 um 18:31 Uhr)
flash_newbie ist offline   Mit Zitat antworten
Alt 22-07-2011, 13:00   #6 (permalink)
I'M A CYBORG
 
Registriert seit: Apr 2007
Ort: ---------
Beiträge: 372
ja die anführungszeichen weglassen hat nichts anderes bewirkt .
hab ein bischen herumprobiert und kann leider auch kein brauchbares resultat liefern . einzig die aaa sind weg wenn ich anstelle von xml
xmlns: space ... verwendet habe .das xml:space sieht flash wohl als syntax fehler .

mit diesem bspl aus der hilfe hab ich es verglichen
ActionScript:
  1. var xml:XML =
  2.         <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  3.             xmlns:dc="http://purl.org/dc/elements/1.1/"
  4.             xmlns="http://purl.org/rss/1.0/">
  5.  
  6.             <!-- ... -->
  7.            
  8.         </rdf:RDF>;
  9.                    
  10. for (var i:uint = 0; i < xml.namespaceDeclarations().length; i++) {
  11.     var ns:Namespace = xml.namespaceDeclarations()[i];
  12.     var prefix:String = ns.prefix;
  13.     if (prefix == "") {
  14.         prefix = "(default)";
  15.     }
  16.     trace(prefix + ":" , ns.uri);
  17. }

mfg
speedhost ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
svg, xml

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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Flash MX 2004] Raster mit verschachtelten Schleifen erstellen ZweiUndVierzig Flash Einsteiger 6 10-01-2010 18:25
[Flash CS4] Flash Header erstellen TheKingLeon Flash Einsteiger 6 04-12-2008 23:49
Flash Header erstellen guidoi Flash Einsteiger 3 10-12-2007 14:51
variablen in for-schleifen mit + i erstellen whatafuck Flash Einsteiger 3 10-05-2007 23:19
functions innerhalb von schleifen erstellen Babaluba Flash MX 11 07-09-2006 22:57


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:45 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele