2010-01-09 4 views
2

У меня возникли проблемы с доступом к корневому узлу переменной XML в flex.Доступ к корневому узлу XML в Flex

Например:

var X:XML= 
    <Message Type="abc"> 
    Content123 
    </Message> 

Я могу изменить атрибут "Тип" выше X. @ Type = "XYZ";

Но как мне изменить «Content123» на что-то еще?

Если документ xml был длиннее/глубже, я мог бы сказать что-то вроде X.Entry [11] .Cost = 2.22; Но что я говорю в этом случае? Очевидно, что X = «Content456» не работает ...

+0

Content123 - это сам узел XML. Это всего лишь ребенок Message, но не значение или атрибут. – Tom

ответ

1

Это один из способов сделать это:

var xml:XML= 
    <Message Type="abc"> 
    Content123 
    </Message>; 

xml.children()[0] = 'Content456'; 
0

Если он не имеет какой-либо другой дочерний элемент, вы можете сделать X.setChildren("something else"); для достижения этой цели ,

4

Это еще один способ, немного безопаснее, поскольку вы явно присвоить новое значение текстового узла:

var xml:XML= 
    <Message Type="abc"> 
    Content123 
    </Message>; 

xml.text()[0] = 'Content456'; 
+0

+1 Хороший. Действительно безопаснее, чем мое предложение. –

0

x.Message даст значение «ABC» в вашем случае .. так и можно изменить это легко догадаться!

Смежные вопросы