невозможно вставить дочерний элемент в XML из actionscript3 - PullRequest
0 голосов
/ 16 января 2012

Я пытаюсь вставить дочерний узел в xml с помощью Actionscript следующим образом -

var xml:XML = <menu>
<item>burger</item>
<item>soda</item>       
</menu>;
xml.insertChildAfter(xml.item[0], <item>fries</item>);
trace(xml);
----------output---------------
<menu>
  <item>burger</item>
  <item>fries</item>
  <item>soda</item>
</menu>
-------------------------

приведенный выше код работает нормально, как и ожидалось, но когда я пытаюсь вставить дочерний элемент во вложенный дочерний элемент, яневозможно вставить.

, но ниже не работает -

var xml:XML = <menu>
<my>
<item>burger</item>
<item>soda</item>
</my>
</menu>;
xml.insertChildAfter(xml.my.item[0], <item>fries</item>);
trace(xml);
------------output-------------
<menu>
  <my>
    <item>burger</item>
    <item>soda</item>
  </my>
</menu>

, кроме того, он возвращает undefined и, как описано в actionscript aliveocs -

If you call this method on an XML child that is not an element (text, attributes, comments, pi, and so on) undefined is returned.

любая помощь / вклад очень ценится, спасибо, что заглянули.

Ответы [ 2 ]

0 голосов
/ 03 июля 2012

Как насчет этого?Это тоже работает.

var xml:XML = <menu>
                <my>
                    <darling>
                        <item>burger</item>
                        <item>soda</item>
                    </darling>
                </my>
            </menu>;
xml..*::darling.insertChildAfter(xml..*::darling.item[0], <item>fries</item>);
trace(xml);
-------output------------------
<menu>
  <my>
    <darling>
      <item>burger</item>
      <item>fries</item>
      <item>soda</item>
    </darling>
  </my>
</menu>
0 голосов
/ 16 января 2012

Первый параметр insertChildAfter должен быть прямым потомком узла XML, для которого вызывается метод. Так что попробуйте:

var xml:XML = <menu>
<my>
<item>burger</item>
<item>soda</item>
</my>
</menu>;
xml.my.insertChildAfter(xml.my.item[0], <item>fries</item>);
trace(xml.toXMLString());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...