I got rid of just about everything and it still was not working. I finally replaced list1 += list4 with xml2.a += list4 and that works.
So the following does not work: list1 = xml2.a; list1 += list4; But the following does: xml2.a += list4 I’m guessing that the reason the second case works is because it’s actually reassigning all <a> elements of the original xml with the new XMLList. So the following does what I want: for(i=0;i<list4.length();i++){ list1[list1.length()] = list4[i]; } which is different than: list1 += list4; But: If I do this: list4 = xml2.z; // z does not exist list4[0] = <a id="1"/>; list4[1] = <a id="2"/>; list4[2] = <a id="3"/>; instead of this: list4 = new XMLList(); list4[0] = <a id="1"/>; list4[1] = <a id="2"/>; list4[2] = <a id="3"/>; I get the elements appended to the XML. Bizarre, but this does jive with your reading of the spec. On May 6, 2016, at 10:53 AM, Alex Harui <aha...@adobe.com> wrote: > Hmm. > > Did you try commenting out lines of code in your first example until it > looks like this employees example? Maybe one of the lines cause a bug. I > wasn't sure what list1[0][0][0] would be, for example. > > Or comment out the <c /> node. I just noticed that the append may have > picked up the name() from the last node, not the last node in the XMLList, > and that would be a bug, IMO. > > -Alex > > On 5/6/16, 12:21 AM, "Harbs" <harbs.li...@gmail.com> wrote: > >> No. That’s not it. >> >> For example, this: >> >> var e = <employees> >> <employee id="1"><name>Joe</name><age>20</age></employee> >> <employee id="2"><name>Sue</name><age>30</age></employee> >> </employees>; >> // append employees 3 and 4 to the end of the employee list >> var newE:XMLList = new XMLList(); >> newE[0] = <employee id="3"><name>Fred</name></employee>; >> newE[1] = <employee id="4"><name>Carol</name></employee>; >> e.employee += newE; >> trace(e); >> >> outputs: >> <employees> >> <employee id="1"> >> <name>Joe</name> >> <age>20</age> >> </employee> >> <employee id="2"> >> <name>Sue</name> >> <age>30</age> >> </employee> >> <employee id="3"> >> <name>Fred</name> >> </employee> >> <employee id="4"> >> <name>Carol</name> >> </employee> >> </employees> >> >> There’s something about the XML in my test case which is preventing the >> appending of either XML or XMLList to the original XML object. It feels >> to me like a bug in Flash… >> >> On May 6, 2016, at 10:06 AM, Alex Harui <aha...@adobe.com> wrote: >> >>> Well, the spec is checking to see if the thing appended is an XMLList >>> and >>> in the above example, I think you are appending XML not XMLList so that >>> might explain the different behavior. >> >