導航:首頁 > 編程語言 > 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獲取父節點相關的資料

熱點內容
如何組合多個pdf文件 瀏覽:668
工作表格excel取消加密 瀏覽:132
真空壓縮袋手泵怎麼用 瀏覽:425
鏡面的命令 瀏覽:202
51單片機藍牙模塊有延遲 瀏覽:114
b解壓葯 瀏覽:568
跳空缺口指標源碼怎麼寫 瀏覽:699
怎麼殺掉伺服器上所有進程 瀏覽:179
c語言中水仙花數的演算法分析 瀏覽:493
心煩時玩兒的解壓神器 瀏覽:496
linux安裝的庫文件 瀏覽:919
加密貨幣架構分析 瀏覽:523
我的世界怎麼把材料包加到伺服器里 瀏覽:757
平板內存卡新建文件夾失敗 瀏覽:204
python模塊打包 瀏覽:361
騰訊雲伺服器centos沒有桌面 瀏覽:891
冒泡排序演算法實驗心得 瀏覽:687
php入侵教程 瀏覽:103
航電伺服器地址 瀏覽:23
pdf是撒 瀏覽:488