2013-06-06 57 views
0

我有以下問題,我不知道如何解決它。如何從OSGVP的組中刪除特定的子節點?

我有一個Group類,我有一些Nodes和我不斷增加更多的節點。其中一個名爲"figure",我想識別此節點將其刪除。

例如我有一個初始組:

1線 2點 3圖

然後我添加更多節點:

1線 2點 3圖 4線 5分

我已經使用這個,但我沒有得到它,因爲我只能在一個情況:

pp.setNodeName("figure"); 

int numNodes= this._featureNodes.getNumChildren(); 

if (this._featureNodes.getChild(numNodes-1).getNodeName() == "figure") 
{ 
    this._featureNodes.removeChild(numNodes-1); 
} 

回答

0

我明白了!

的解決方案是創建一個「for」循環閱讀我的組中的所有項目,並確定節點「人物」是這樣的:

for (int i = 0 ; i< this._featureNodes.getNumChildren(); ++i){ 

    if (_featureNodes.getChild(i).getNodeName().equals("figure")) 
    { 
     this._featureNodes.removeChild(i); 
    } 
} 
0

使用equals()爲comapring字符串不==運營商。 equals()比較nodeName是否具有相同的字符串字符。 ==比較兩個引用是否引用同一個對象。因此,你的if塊如下:

if (this._featureNodes.getChild(numNodes-1).getNodeName().equals("figure")) 
{ 
    this._featureNodes.removeChild(numNodes-1); 
} 
+0

行! 但是用這個我只能解決第一種情況A: 1行; 2分; 3圖。 但是,當我添加另一個節點作爲這種情況B時發生了什麼?: 1行; 2分; 3個數字; 4 lineb; 5分b; – Acicate