2011-05-20 151 views
0

我有一個XML結構:刪除XML節點

<xml> 
<node label="comp_unit"> 
    <node label="stratum"> 
    <node label="tree"/> 
    </node> 
</node> 
</xml> 

現在,我試圖刪除節點,層數標籤=地層, 所以,我這樣做.. 刪除xml.node(。 @label == 「層」); 但我收到了一條錯誤消息:刪除操作符不能在xmlList上工作。 我想這則: 刪除XML(xml.node(@標籤== 「階層」); 但節點並未被刪除..

任何一個有線索

+0

你也需要讓我們知道它是什麼語言你使用的XML – 2011-05-20 12:28:03

+1

正在使用Flex努力工作。感謝球員,我會從現在開始改進 – helpdesk 2011-05-20 12:43:01

回答

0

使用以下命令:

delete xml..node.(@label=="stratum")[0]; 
+0

謝謝@Constantiner。 – helpdesk 2011-05-26 16:30:59

0

我不? 「知道你需要刪除的語法,但你應該在XPath中使用單一=平等的比較:。@label="stratum"

編輯

你是對的它不是一個真正的XPath是在柔性使用

也許你需要首先檢索節點列表,然後刪除元素:

var nodeList:XMLList = xml..node.(@label=="stratum"); 
for(var i:int = nodeList.length() -1; i >= 0; i--) 
{ 
    delete nodeList[i]; 
} 

here

+0

@morja,我不完全確定,但我會檢查出來,讓你知道。謝謝 – helpdesk 2011-05-22 19:15:13

+0

@morja,我研究了它,我肯定它應該是@ flexel ==「stratum」在flex4應用程序中。 – helpdesk 2011-05-26 13:31:00

+0

@henry,看到我的更新 – morja 2011-05-26 15:34:45