изменить символы XML в ActionScript - PullRequest
1 голос
/ 15 июня 2009

Привет, сообщество. У меня следующая проблема,

с учетом этого xml

<test>
    <comp>
        <id>1</id>
        <content>bar</content>
    </comp>
    <comp>
        <id>2</id>
        <content>foo</content>
    </comp>
</test>

Я хочу изменить значение содержимого элемента comp с идентификатором 2. Поэтому я зацикливаюсь с циклом foreach

for each (var x : XML in testXML.children()) {
                    if (x.id == 2) {
                        for each (var element : XML in x.Children()) {
                            if (element.localName() == "content") {
                                element = "new content";
                            }
                        }
                    }
                }

теперь при достижении точки element = "new content"; моя программа говорит мне, что я не могу дать элементу значение нового содержимого, поскольку это строка, а элемент - xml. Как мне этого добиться?

Заранее спасибо

Себастьян

1 Ответ

4 голосов
/ 15 июня 2009

Попробуйте использовать E4X вместо циклов.

Для доступа к элементу используйте:

xml.comp.(id == 2).content

Чтобы изменить его содержимое, используйте

xml.comp.(id == 2).content.* = "new content";

Гораздо короче:)

...