I’ve tried quite a number of angles on this, and I am just as clueless as when 
I started.

Nothing I do seems to get the a elements added in Flash.

I’m really stumped on this. I’m going to leave the JS output as it is until 
someone can explain to me why it’s wrong…

On May 5, 2016, at 10:49 AM, Harbs <harbs.li...@gmail.com> wrote:

> I have a situation where the FlexJS output is different than the Flash output 
> of XML, but it seems to me like the Flash output is wrong. I’m not sure what 
> I’m missing:
> 
> Here’s the (stripped down) code:
> 
> var xml2:XML = new XML('<root 
> xmlns:fz="http://ns.adobe.com/mxml/2009";><a><b/></a><a 
> name="fred"/><a>hi<b>yeah!</b></a><a name="frank"/><c/></root>');
> var list1:XMLList = xml2.a;
> var aaa = list1[0];
> var aab = list1[0][0][0];
> var list2:XMLList = xml2.child("a");
> var list3:XMLList = xml2.descendants();
> list3  = list3.(attribute("name").length());
> list2[list2.length()] = <c id="1"/>;
> list2[0] = <bla/>;
> var list4:XMLList = new XMLList();
> list4[0] = <a id="1"/>;
> list4[1] = <a id="2"/>;
> list4[2] = <a id="3"/>;
> list1 += list4
> trace("after concat");
> trace(xml2.toString());
> 
> In Flash the output is:
> 
> after concat
> <root xmlns:fz="http://ns.adobe.com/mxml/2009";>
>   <bla/>
>   <a name="fred"/>
>   <a>
>     hi
>     <b>yeah!</b>
>   </a>
>   <a name="frank"/>
>   <c id="1"/>
>   <c/>
> </root>
> 
> In JS, the output is:
> 
> after concat
> <root xmlns:fz="http://ns.adobe.com/mxml/2009";>
>  <bla/>
>  <a name="fred"/>
>  <a>
>         hi
>    <b>yeah!</b>
>   </a>
>  <a name="frank"/>
>  <c/>
>  <c id="1"/>
>  <a id="1"/>
>  <a id="2"/>
>  <a id="3"/>
> </root>
> 
> Ignoring the order of the “c” elements for right now (which is a bug I’m 
> going to fix), it seems to me that the three “a” elements that appear in the 
> JS output is correct. I don’t know why Flash does not append the elements to 
> the original XML.
> 
> Does anyone have any ideas?
> 
> Harbs

Reply via email to