c++ builder 中的 XMLDocument 类详解(7) - 获取节点名称与节点的属性名称

//---------------------------------------------------------------------------

#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <msxmldom.hpp>
#include <XMLDoc.hpp>
#include <xmldom.hpp>
#include <XMLIntf.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published:	// IDE-managed Components
    TButton *btn_1;
    TButton *btn_2;
    TXMLDocument *XMLDocument1;
    void __fastcall btn_1Click(TObject *Sender);
    void __fastcall FormCreate(TObject *Sender);
    void __fastcall btn_2Click(TObject *Sender);
private:	// User declarations
public:		// User declarations
    __fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif
//---------------------------------------------------------------------------

#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::FormCreate(TObject *Sender)
{
    XMLDocument1->LoadFromFile("D:\\code\\B_C_B\\XMLDocument\\test.xml");
}
//---------------------------------------------------------------------------

void __fastcall TForm1::btn_1Click(TObject *Sender)
{
    _di_IXMLNode node;
    node=XMLDocument1->DocumentElement;

    //显示根结点的名字
    ShowMessage(node->NodeName);//显示 科室名单

    // 显示第二级第一个结点的名称
    node=node->ChildNodes->Nodes[0];
    ShowMessage(node->NodeName);//显示 人员

    //....
    node=node->ChildNodes->Nodes[0];
    ShowMessage(node->NodeName);//显示 姓名


}
//---------------------------------------------------------------------------

void __fastcall TForm1::btn_2Click(TObject *Sender)
{
    //获取属性名称

    _di_IXMLNode node;
    node=XMLDocument1->DocumentElement;

    //显示根结点的属性名称
    ShowMessage(node->AttributeNodes->Nodes[0]->NodeName);//显示 备注

    node=node->ChildNodes->Nodes[0];
    ShowMessage(node->AttributeNodes->Nodes[0]->NodeName);
}
//---------------------------------------------------------------------------
posted @ 2011-06-08 22:36  瓜蛋  阅读(1082)  评论(0编辑  收藏  举报