【お知らせ】この部分は英語原文のみでの提供となります。何卒ご了承ください。
2.1.26.32 tree_find_node_by_dataID
Contents
Description
Finds a tree node given its data id, and optionally its parent data id and repeat id, and granparent data id and repeat id.
Syntax
TreeNode tree_find_node_by_dataID( TreeNode tr, int nID, int nIDParent = 0, int nParentRepeatID = -1, int nIDGrandParent = 0, int nGrandParentRepeatID = -1 )
Parameters
- tr
- [input] the tree to search
- nID
- [input] the data id to find
- nIDParent
- [input] optional parent data id
- nParentRepeatID
- [input] optional parent repeat id
- nIDGrandParent
- [input] optional grandparent data id
- nGrandParentRepeatID
- [input] optional grandparent repeat id
Return
the TreeNode found if successful, an invalid TreeNode if not found.
Examples
EX1
void tree_find_node_by_dataID_ex1() { Tree trTest; TreeNode tn1, tn2; tn1 = trTest.AddTextNode("node 1", "Node1"); tn1.SetAttribute(STR_DATAID_ATTRIB, 1); tn1.SetAttribute(STR_REPEAT_ID_ATTRIB, 1); tn2 = trTest.AddTextNode("node 2", "Node2"); tn2.SetAttribute(STR_DATAID_ATTRIB, 2); tn2.SetAttribute(STR_REPEAT_ID_ATTRIB, 2); TreeNode tn1_1, tn1_2; tn1_1 = tn1.AddTextNode("node 1.1", "Node1.1"); tn1_1.SetAttribute(STR_DATAID_ATTRIB, 3); tn1_1.SetAttribute(STR_REPEAT_ID_ATTRIB, 3); tn1_2 = tn1.AddTextNode("node 1.2", "Node1.2"); tn1_2.SetAttribute(STR_DATAID_ATTRIB, 4); tn1_2.SetAttribute(STR_REPEAT_ID_ATTRIB, 4); TreeNode tn1_1_1, tn1_1_2; tn1_1_1 = tn1_1.AddTextNode("node 1.1.1", "Node1.1.1"); tn1_1_1.SetAttribute(STR_DATAID_ATTRIB, 5); tn1_1_1.SetAttribute(STR_REPEAT_ID_ATTRIB, 5); tn1_1_2 = tn1_1.AddTextNode("node 1.1.2", "Node1.1.2"); tn1_1_2.SetAttribute(STR_DATAID_ATTRIB, 6); tn1_1_2.SetAttribute(STR_REPEAT_ID_ATTRIB, 6); TreeNode tnRet; tnRet = tree_find_node_by_dataID(trTest, 1, 0, -1, 0, -1); if( tnRet ) out_str(tnRet.tagName); else out_str("can't find"); tnRet = tree_find_node_by_dataID(trTest, 7, 0, -1, 0, -1); if( tnRet ) out_str(tnRet.tagName); else out_str("can't find"); tnRet = tree_find_node_by_dataID(trTest, 5, 3, -1, 1, -1); if( tnRet ) out_str(tnRet.tagName); else out_str("can't find"); }
Remark
See Also
tree_get_node_by_dataid
Header to Include
origin.h