📄 unit1.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
//赋值:
void __fastcall TForm1::XMLtoTree(TTreeNode *Node,_di_IXMLNode node,TTreeView *Tree)
{
//定义结构
typedef struct MyRec
{
String FName,LName;
}TMyRec;
typedef TMyRec* PMyRec;
PMyRec MyRecPtr;
TTreeNode* Layel;
_di_IXMLNodeList nodes=node->ChildNodes;
if(node->HasChildNodes)
{
for(int i=0;i<nodes->Count;i++)
{
AnsiString ss = nodes->Nodes[i]->GetNodeName();
//Layel = Tree->Items->Add(Node,ss);
if(ss!="#text")
Layel = Tree->Items->AddChild(Node,ss);
for(int j=0;j<(nodes->Nodes[i]->ChildNodes->Count);j++)
{
MyRecPtr=new TMyRec;
MyRecPtr->FName=nodes->Nodes[i]->ChildNodes->Nodes[j]->GetNodeName();
//MyRecPtr->LName=nodes->Nodes[i]->ChildNodes->Nodes[j+1]->GetText().w_str();
//MyRecPtr->LName = nodes->Nodes[i]->ChildNodes->Nodes[j+1]->GetNodeName().c_bstr();
TTreeNode *Node2;
if(MyRecPtr->FName!="#text")
Node2 = Tree->Items->AddChildObject(Layel,MyRecPtr->FName,MyRecPtr);
//获取节点
node= nodes->Nodes[i]->ChildNodes->Nodes[j];
//递归
if(node->HasChildNodes){
XMLtoTree(Node2,node,Tree);
}
}
}
}
}
//取值的:
String __fastcall TForm1::GetTreeValue(TTreeView *Tree)
{
typedef struct MyRec
{
String FName,LName;
}TMyRec;
typedef TMyRec* PMyRec;
PMyRec MyRecPtr;
//return PMyRec(Tree->Selected->Data)->LName;
}
//程序入口
void __fastcall TForm1::FormCreate(TObject *Sender)
{
//创建对象
_di_IXMLDocument xml;
//载入xml文件
xml = LoadXMLDocument("record.xml");
//获取根结点
_di_IXMLNode node = xml->DocumentElement;
XMLtoTree(NULL,node,TreeView1);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::TreeView1DblClick(TObject *Sender)
{
ShowMessage(GetTreeValue(TreeView1));
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -