2010-11-04 67 views
0

我覺得這個問題有一個非常簡單的答案,我只是忽略它。我需要獲得一個指向XML的指針。我可以得到一個指向父節點的指針,一切正常,但試圖獲得一個指向沒有子節點的節點的指針只返回該節點的值。如何獲取XML對象引用而不是as3中的值

下面是一個例子:

<body> 
    <parentNode> 
    <subNode>value</subNode> 
    </parentNode> 
</body> 

因此,要獲得一個指向「parentNode」,我想說的是這樣的:

var parentNode = xml.parentNode; 

如果您跟蹤,這將是上面顯示的XML沒有身體標籤。

下面我將試圖獲得一個指向子節點:

var subNode = xml.parentNode.subNode; 

跟蹤子節點將只是價值並沒有指向原始XML對象,所以編輯子節點VAR只會改變其值,而不是原始XML對象中的值。

如何獲取指向子節點的指針,以便可以編輯它以更改原始xml對象?

+0

如果你不會是有幫助的,離開了。 – Jordan 2010-11-04 19:59:24

回答

1

這裏是一個代碼示例:

var xml : XML = <a><b><c>test</c></b></a>; 
var cNode : XML = XML(xml.b.c); 
trace("1:", cNode.toXMLString()); 
cNode.setChildren("Hello King Kong"); 
trace("2:", cNode.toXMLString()); 
trace("3:", xml); 

//output : 
//1: <c>test</c> 
//2: <c>Hello King Kong</c> 
//3: <a> 
// <b> 
// <c>Hello King Kong</c> 
// </b> 
//</a> 
+0

我明白了,字符串值是「c」節點的孩子。我錯過了那部分。謝謝! – Jordan 2010-11-04 20:48:11

1

其實,如果你跟蹤節點,它將被澆鑄爲字符串,得到childnode textvalue,而不是實際的節點。如果將節點放入XML類型的變量中,它將成爲實際的節點。

所以

node:XML = c; will be the node. 
node:String = c; will be the textvalue of that node. 
相關問題