Erst mal danke für Hilfe.
Also so wie ich das mit dem Namespace verstanden habe, wird mit dem Attribut xmlns:ns="bla" lediglich die prinzipiell vorhandenen Namespaces definiert. Ich habe aber das obige Beispiel etwas vereinfacht und das Attribut nun nur noch in dem Element drin wo es gebraucht wird. Trotzdem kommt das selbe raus!
Code:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/halo" minWidth="1024" minHeight="768"
creationComplete="test()">
<fx:Script>
<![CDATA[
private var employees:XML =
<employees>
<name first="John" last="Doe" />
<ns:name first="Mary" last="Roe" xmlns:ns="bla" />
</employees>;
public function test():void
{
trace("###########");
trace(employees.name);
trace("###########");
var ns:Namespace = new Namespace("ns", "bla");
var qn:QName = new QName(ns, "name");
trace(employees.child(qn));
trace("###########");
}
]]>
</fx:Script>
</s:Application> Hat vielleicht noch jemand eine Idee, warum die Ausgabe
###########
###########
<name first="John" last="Doe"/>
<ns:name first="Mary" last="Roe" xmlns:ns="bla"/>
###########
lautet und nicht wie ich vermuten würde:
###########
<name first="John" last="Doe"/>
###########
<ns:name first="Mary" last="Roe" xmlns:ns="bla"/>
###########