c++ builder 中的 XMLDocument 类详解(14) - XML的保存与创建

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

#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
    TXMLDocument *XMLDocument1;
    TButton *Button1;
    TButton *Button2;
    void __fastcall Button1Click(TObject *Sender);
    void __fastcall Button2Click(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::Button1Click(TObject *Sender)
{
    XMLDocument1->XML->Clear();
    XMLDocument1->XML->Add("");
    XMLDocument1->XML->Add("<科室名单 备注=\"测试\">");
    XMLDocument1->XML->Add("<人员 职务=\"科长\" 备注=\"正局级\">");
    XMLDocument1->XML->Add("<姓名>张三");
    XMLDocument1->XML->Add("<性别>男");
    XMLDocument1->XML->Add("<年龄>34");
    XMLDocument1->XML->Add("");
    XMLDocument1->XML->Add("");

    //查看
    ShowMessage(XMLDocument1->XML->Text);

    //保存
    XMLDocument1->Active=true;
    XMLDocument1->SaveToFile("c:\\temp\\1.xml");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
    //创建xml文件的标准方法

    _di_IXMLNode pNode,cNode;//定义两个结点,父节点,子节点

    XMLDocument1->XML->Clear();
    XMLDocument1->Active=true;//必须先激活
    XMLDocument1->Version="1.0";//设置版本
    XMLDocument1->Encoding="GB2312";//设置语言

    pNode=XMLDocument1->AddChild("科室名单");       //添加第一个节点是根结点
    pNode->SetAttribute("备注","测试");//设置根结点属性

    pNode=pNode->AddChild("人员");//为根结点添加子结点
    pNode->SetAttribute("职务","科长");
    pNode->SetAttribute("备注","正处级");

    cNode=pNode->AddChild("姓名");//为pNode添加子节点,返回值cNode指向了新添加的节点
    cNode->Text="张三";

    cNode=pNode->AddChild("性别");
    cNode->Text="男";

    cNode=pNode->AddChild("年龄");
    cNode->Text="34";

    //查看
    ShowMessage(XMLDocument1->XML->Text);

    //保存
    XMLDocument1->SaveToFile("c:\\temp\\1.xml");

}
//---------------------------------------------------------------------------
时间: 2024-09-23 07:51:04

c++ builder 中的 XMLDocument 类详解(14) - XML的保存与创建的相关文章

c++ builder中的 XMLDocument 类详解(0) - xml 语法提示

1.忽略空白2.注释: <!-- -->3.指令: <? ?>4.特殊字符: < > ' " &  替代: < > &apos; " &5.二进制数据: <![CDATA [...]]>6.区分大小写7.标记不能交叠8.单标记, 也就是空元素, 如: <node/>, 只用属性记录数据9.属性值在引号内10.xml 中的元素与属性的名字, 必须以字母或 _ 开头, 后面可以是字母.数字或 _

c++ builder 中的 XMLDocument 类详解(9) -关于 HasChildNodes 与 IsTextElement

//--------------------------------------------------------------------------- #ifndef Unit1H #define Unit1H //--------------------------------------------------------------------------- #include <Classes.hpp> #include <Controls.hpp> #include &

c++ builder 中的 XMLDocument 类详解(5) - 获取元素内容

//--------------------------------------------------------------------------- #ifndef Unit1H #define Unit1H //--------------------------------------------------------------------------- #include <Classes.hpp> #include <Controls.hpp> #include &

c++ builder 中的 XMLDocument 类详解(10) -判断节点类型: 支节点、叶节点、文本节点、空节点

//--------------------------------------------------------------------------- #ifndef Unit1H #define Unit1H //--------------------------------------------------------------------------- #include <Classes.hpp> #include <Controls.hpp> #include &

C++ builder 中的 XMLDocument 类详解(15) – Firstnode 和Lastnode

//--------------------------------------------------------------------------- #ifndef Unit1H #define Unit1H //--------------------------------------------------------------------------- #include <Classes.hpp> #include <Controls.hpp> #include &

C++ builder 中的 XMLDocument 类详解(16) – 前一个节点、后一个节点和父节点

//--------------------------------------------------------------------------- #ifndef Unit1H #define Unit1H //--------------------------------------------------------------------------- #include <Classes.hpp> #include <Controls.hpp> #include &

C++ builder 中的 XMLDocument 类详解(17) 更好地显示 xml 的测试结果 - FormatXMLData 及其他

//--------------------------------------------------------------------------- #ifndef Unit1H #define Unit1H //--------------------------------------------------------------------------- #include <Classes.hpp> #include <Controls.hpp> #include &

c++ builder 中的 XMLDocument 类详解(8) -添加与删除结点

//--------------------------------------------------------------------------- #ifndef Unit1H #define Unit1H //--------------------------------------------------------------------------- #include <Classes.hpp> #include <Controls.hpp> #include &

c++ builder 中的 XMLDocument 类详解(6) - 访问节点属性

//--------------------------------------------------------------------------- #ifndef Unit1H #define Unit1H //--------------------------------------------------------------------------- #include <Classes.hpp> #include <Controls.hpp> #include &