导航:首页 > 编程语言 > Java获取父节点

Java获取父节点

发布时间:2024-05-10 01:47:20

java 怎么把数据库 ID PID(父ID) NAME 三个字段 数据递归处理成树形结构 首ID的PID为0

  1. 如果数据库是oracle,可以用递归的sql实现

  2. 如果想用java实现

    第一步遍历节点放入map结构

    再次遍历节点,取出当前节点的父节点,parentNode.setchild(courrentNode)
    这样第二次遍历完后已经是树形结构了。

  3. 从map中取出root节点就行

㈡ 如何判断根节点,父节点,子节点

根节点的Level属性为0,一级子节点Level属性为1,二级子节点Level属性为2,以此类推;
同级节点可以用索引、名称、文本来区分。
用索引区分根节点时,TreeView.Nodes[0]就是第一个根节点,TreeView.Nodes[1]就是第二个根节点,以此类推;
用索引区分一级子节点时,TreeView.Nodes[0].Nodes[0]为第一个根节点的第一个子节点,TreeView.Nodes[0].Nodes[1]是第一个根节点的第二个子节点,以此类推;
2.如何获取TreeView点击的值加上其父节点直到根节点的值.
用Node.FullPah,可以得到一个字符串,如:根节点/1父节点2/子节点3,你可以对这个字符串替换字符。另外,“/"是自己设定的,通过TreeView的PathSeparator属性设置,你设置为空字符串,得到的FullPath就没有斜杠了。

TreeView tv ;
public X(){
tv = new TreeView();
tv.Click += new EventHandler(tv_Click);
}

void tv_Click(object sender , EventArgs e) {
if(tv.SelectedNode!=null)
//..
}

3.0C#如何用代码向TreeView控件中添加根节点和子级?

1. private void Form1_Load(object sender, EventArgs e)
2. {
3. treeView1.LabelEdit = true;//可编辑状态。
4.
5. ,这个结点是根节点。
6. TreeNode node = new TreeNode();
7. node.Text = "hope";
8. treeView1.Nodes.Add(node);
9. TreeNode node1 = new TreeNode();
10. node1.Text = "hopeone";
11. TreeNode node11 = new TreeNode();
12. node11.Text = "hopeoneone"; 13. TreeNode node2 = new TreeNode();
14. node2.Text = "hopetwo";
15. node1.Nodes.Add(node11);//在node1下面在添加一个结点。
16. node.Nodes.Add(node1);//node下的两个子节点。
17. node.Nodes.Add(node2); 18.
19. TreeNode t = new TreeNode("basil");//作为根节点。
20. treeView1.Nodes.Add(t);
21. TreeNode t1 = new TreeNode("basilone");
22. t.Nodes.Add(t1);
23. TreeNode t2 = new TreeNode("basiltwo");
24. t.Nodes.Add(t2);
25.
26.
27. }
28.3 / 6
29. private void button1_Click(object sender, EventArgs e)
30. {//点击该按钮的时候,会移除选中项
31. treeView1.Nodes.Remove(treeView1.SelectedNode);
32. }
33.
34. private void button2_Click(object sender, EventArgs e)
35. {//点击这个按钮的时候,可以修改选中项
36. treeView1.SelectedNode.BeginEdit();
37. }

㈢ java 递归数据库生成 树形结构问题

1、准备表结构及对应的表数据
a、表结构:
create table TB_TREE
(
CID NUMBER not null,
CNAME VARCHAR2(50),
PID NUMBER //父节点
)

b、表数据:

insert into tb_tree (CID, CNAME, PID) values (1, '中国', 0);
insert into tb_tree (CID, CNAME, PID) values (2, '北京市', 1);
insert into tb_tree (CID, CNAME, PID) values (3, '广东省', 1);
insert into tb_tree (CID, CNAME, PID) values (4, '上海市', 1);
insert into tb_tree (CID, CNAME, PID) values (5, '广州市', 3);
insert into tb_tree (CID, CNAME, PID) values (6, '深圳市', 3);
insert into tb_tree (CID, CNAME, PID) values (7, '海珠区', 5);
insert into tb_tree (CID, CNAME, PID) values (8, '天河区', 5);
insert into tb_tree (CID, CNAME, PID) values (9, '福田区', 6);
insert into tb_tree (CID, CNAME, PID) values (10, '南山区', 6);
insert into tb_tree (CID, CNAME, PID) values (11, '密云县', 2);
insert into tb_tree (CID, CNAME, PID) values (12, '浦东', 4);

2、TreeNode对象,对应tb_tree

public class TreeNode implements Serializable {
private Integer cid;
private String cname;
private Integer pid;
private List nodes = new ArrayList();

public TreeNode() {
}

//getter、setter省略
}

3、测试数据

public class TreeNodeTest {
@Test
public void loadTree() throws Exception{
System.out.println(JsonUtils.javaToJson(recursiveTree(1)));
}

/**
* 递归算法解析成树形结构
*
* @param cid
* @return
* @author jiqinlin
*/
public TreeNode recursiveTree(int cid) {
//根据cid获取节点对象(SELECT * FROM tb_tree t WHERE t.cid=?)
TreeNode node = personService.getreeNode(cid);
//查询cid下的所有子节点(SELECT * FROM tb_tree t WHERE t.pid=?)
List childTreeNodes = personService.queryTreeNode(cid);
//遍历子节点
for(TreeNode child : childTreeNodes){
TreeNode n = recursiveTree(child.getCid()); //递归
node.getNodes().add(n);
}

return node;
}
}

输出的json格式如下:

{
"cid": 1,
"nodes": [
{
"cid": 2,
"nodes": [
{
"cid": 11,
"nodes": [

],
"cname": "密云县",
"pid": 2
}
],
"cname": "北京市",
"pid": 1
},
{
"cid": 3,
"nodes": [
{
"cid": 5,
"nodes": [
{
"cid": 7,
"nodes": [

],
"cname": "海珠区",
"pid": 5
},
{
"cid": 8,
"nodes": [

],
"cname": "天河区",
"pid": 5
}
],
"cname": "广州市",
"pid": 3
},
{
"cid": 6,
"nodes": [
{
"cid": 9,
"nodes": [

],
"cname": "福田区",
"pid": 6
},
{
"cid": 10,
"nodes": [

],
"cname": "南山区",
"pid": 6
}
],
"cname": "深圳市",
"pid": 3
}
],
"cname": "广东省",
"pid": 1
},
{
"cid": 4,
"nodes": [
{
"cid": 12,
"nodes": [

],
"cname": "浦东",
"pid": 4
}
],
"cname": "上海市",
"pid": 1
}
],
"cname": "中国",
"pid": 0
}

㈣ java 获取xml 父节点 并追加

你用什么解释xml啊,
子结点。append属性,然后父节点。append子结点啊。

阅读全文

与Java获取父节点相关的资料

热点内容
跳空缺口指标源码怎么写 浏览:697
怎么杀掉服务器上所有进程 浏览:177
c语言中水仙花数的算法分析 浏览:493
心烦时玩儿的解压神器 浏览:494
linux安装的库文件 浏览:915
加密货币架构分析 浏览:521
我的世界怎么把材料包加到服务器里 浏览:755
平板内存卡新建文件夹失败 浏览:203
python模块打包 浏览:360
腾讯云服务器centos没有桌面 浏览:890
冒泡排序算法实验心得 浏览:686
php入侵教程 浏览:102
航电服务器地址 浏览:23
pdf是撒 浏览:487
五格数学算法 浏览:171
服务器怎么添加连接 浏览:16
排列组合a算法 浏览:985
服务器迷你号是什么 浏览:779
有什么免费的云服务器地址 浏览:576
微信为什么总是连接服务器失败 浏览:642