Borland C++ Builder 6.0 XML处理总结
1、安装
C++ Builder对于XML处理主要封装在TXMLDocument组件中,该组件是Internet组件的一部分。
如果在安装包有已经有Borland Internet Components组件,那表示已经可以使用
TXMLDocument控件了。该控件在Internet控制卡中,笔者的在最后一个,图标为标识有XML
的文档式样。如果没有该控件的话,你需要安装。
TXMLDocument不是C++ Builder缺省安装的包,需要自己添加安装包。如果在C++ Builder
目录的Bin目录下存在dclnet60.bpl文件,就直接安装就是,否则需要修改安装,以安装该
组件包。
2、使用
2.1 基本操作
2.1.1 使用控件方式加载XML文件示例:
view plaincopy to clipboardprint?
//加载XML文件
OpenDialog1->Filter = "XML(程序配置文件)|*.xml";
if (!OpenDialog1->Execute()){
return;
}
XMLDoc->LoadFromFile(OpenDialog1->FileName);
_di_IXMLNode node = XMLDoc->DocumentElement;
if (node == NULL){
ShowMessage("不是合法的程序配置文件XML文件格式。");
return;
}
//加载XML文件
OpenDialog1->Filter = "XML(程序配置文件)|*.xml";
if (!OpenDialog1->Execute()){
return;
}
XMLDoc->LoadFromFile(OpenDialog1->FileName);
_di_IXMLNode node = XMLDoc->DocumentElement;
if (node == NULL){
ShowMessage("不是合法的程序配置文件XML文件格式。");
return;
}
2.1.2 使用控件方式保存XML文件示例:
view plaincopy to clipboardprint?
SaveDialog1->FileName = FDevTypeName + ".xml";
SaveDialog1->Filter = "XML(程序配置文件)|*.xml";
if (SaveDialog1->Execute()){
XMLDoc->Active=true;
XMLDoc->Version = "1.0";
XMLDoc->Encoding = "GB2312";
XMLDoc->Options << doNodeAutoIndent;
//建立文档主元素
XMLDoc->DocumentElement = XMLDoc->CreateElement("Config", "");
XMLDoc->DocumentElement->SetAttribute("DevType", FDevTypeName);
//从UI更新XML数据
UpdateXMLDataFromUI(XMLDoc->DocumentElement);
//格式化XML
XMLDoc->LoadFromXML(formatXMLDoc(XMLDoc, 1));
//保存XML文件
XMLDoc->SaveToFile(SaveDialog1->FileName);
ShowMessage("保存配置"+ SaveDialog1->FileName + "文件成功");
}