Changeset 925 for trunk/src/@xmltree/delete.m
- Timestamp:
- Feb 17, 2016, 12:52:48 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/@xmltree/delete.m
r723 r925 4 4 % tree - XMLTree object 5 5 % uid - array of UID's of subtrees to be deleted 6 %_______________________________________________________________________ 6 %__________________________________________________________________________ 7 7 % 8 8 % Delete a subtree given its UID 9 9 % The tree parameter must be in input AND in output 10 %_______________________________________________________________________ 11 % @(#)delete.m Guillaume Flandin 02/04/0810 %__________________________________________________________________________ 11 % Copyright (C) 2002-2011 http://www.artefact.tk/ 12 12 13 error(nargchk(2,2,nargin)); 13 % Guillaume Flandin 14 % $Id: delete.m 4460 2011-09-05 14:52:16Z guillaume $ 15 16 %error(nargchk(2,2,nargin)); 14 17 15 18 uid = uid(:); 16 19 for i=1:length(uid) 17 18 19 20 21 22 23 20 if uid(i)==1 21 warning('[XMLTree] Cannot delete root element.'); 22 else 23 p = tree.tree{uid(i)}.parent; 24 tree = sub_delete(tree,uid(i)); 25 tree.tree{p}.contents(find(tree.tree{p}.contents==uid(i))) = []; 26 end 24 27 end 25 28 26 %======================================================================= 29 %========================================================================== 27 30 function tree = sub_delete(tree,uid) 28 29 30 31 32 33 31 if isfield(tree.tree{uid},'contents') 32 for i=1:length(tree.tree{uid}.contents) 33 tree = sub_delete(tree,tree.tree{uid}.contents(i)); 34 end 35 end 36 tree.tree{uid} = struct('type','deleted');
Note: See TracChangeset
for help on using the changeset viewer.