2010-01-09 119 views
2

我在访问flex中的XML变量的根节点值时遇到问题。在Flex中访问XML的根节点

例如:

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

我可以改变以上X. @类型= “xyz” 时, “类型” 属性;

但是,如何将“Content123”更改为其他内容?

如果xml文档更长/更深,我可以说X.Entry [11] .Cost = 2.22;但是在这种情况下我怎么说?显然,X =“Content456”不工作...

+0

Content123本身就是一个xml节点。它只是Message的一个孩子,但不是它的一个值或属性。 – Tom 2010-01-09 12:33:29

回答

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不错。确实比我的建议更安全。 – 2010-01-09 16:30:09

0

x.Message将给予价值“ABC”你的情况..所以ü可以改变我很容易猜到!