某个项目需要将数据保存为XML文件,但是BCB6没安装XMLDOC,想下载安装包也难找,于是就在网上查了些资料,不使用XMLDOC的情况下生成和保存XML文件。

包含头文件:

#include <XMLDoc.hpp>

#pragma link "xmlrtl.lib"

代码:

AnsiString gkstr = "";
    gkstr = edtGkbh->Text.Trim();
    if (gkstr != ""){
        cxQry->SQL->Text = "select pmggmc,ysmc,rzsk,gkbh,wkgs,bpbh,fk,mz,bcdd,bzbz,"
                            "CONVERT(varchar(100),GETDATE(),11) as bzrq from ccck "
                            " with(nolock) where gkbh='"+gkstr+"' order by cast(bpbh as int)";
        cxQry->Open();
        cxQry->First();
        for (int i=0;i<cxQry->RecordCount;i++){
            //创建XML
            _di_IXMLDocument xml= NewXMLDocument(L"1.0");
            xml->Active= true;
            xml->Options = xml->Options << doNodeAutoIndent;

_di_IXMLNode root = xml->AddChild("barcode");
            //root->Attributes["version"]="1.0";
            //root->Attributes["name"]="PathConfig";
            //创建XML节点
            root->AddChild("TemplateNumber");
            root->AddChild("ProductName");
            root->AddChild("ColorCode");
            root->AddChild("ColorNumber");
            root->AddChild("BatchNo");
            root->AddChild("Quantity");
            root->AddChild("ProductUnit");
            root->AddChild("VolumeNumber");
            root->AddChild("Breadth");
            root->AddChild("Grammage");
            root->AddChild("Composition");
            root->AddChild("DateMark");
            root->AddChild("OrderNumber");
            root->AddChild("FirstRemark");
            root->AddChild("Remark");

//对节点赋值
            AnsiString str = "";
            _di_IXMLNode node = root->ChildNodes->FindNode(WideString("TemplateNumber"));
            str = "001";
            node->SetNodeValue(str);
            node = root->ChildNodes->FindNode(WideString("ProductName"));
            str = cxQrypmggmc->AsString.Trim();
            node->SetNodeValue(str);
            node = root->ChildNodes->FindNode(WideString("ColorCode"));
            str = cxQryysmc->AsString.Trim();
            node->SetNodeValue(str);
            node = root->ChildNodes->FindNode(WideString("ColorNumber"));
            str = cxQryrzsk->AsString.Trim();
            node->SetNodeValue(str);
            node = root->ChildNodes->FindNode(WideString("BatchNo"));
            str = cxQrygkbh->AsString.Trim();
            node->SetNodeValue(str);
            node = root->ChildNodes->FindNode(WideString("Quantity"));
            str = cxQrywkgs->AsString.Trim();
            node->SetNodeValue(str);
            node = root->ChildNodes->FindNode(WideString("ProductUnit"));
            str = "KG";
            node->SetNodeValue(str);
            node = root->ChildNodes->FindNode(WideString("VolumeNumber"));
            str = cxQrybpbh->AsString.Trim();
            node->SetNodeValue(str);
            node = root->ChildNodes->FindNode(WideString("Breadth"));
            str = cxQryfk->AsString.Trim();
            node->SetNodeValue(str);
            node = root->ChildNodes->FindNode(WideString("Grammage"));
            str = cxQrymz->AsString.Trim();
            node->SetNodeValue(str);
            node = root->ChildNodes->FindNode(WideString("Composition"));
            str = "";
            node->SetNodeValue(str);
            node = root->ChildNodes->FindNode(WideString("DateMark"));
            str = cxQrybzrq->AsString.Trim();
            node->SetNodeValue(str);
            node = root->ChildNodes->FindNode(WideString("OrderNumber"));
            str = cxQrybcdd->AsString.Trim();
            node->SetNodeValue(str);
            node = root->ChildNodes->FindNode(WideString("FirstRemark"));
            str = cxQrybzbz->AsString.Trim();
            node->SetNodeValue(str);
            node = root->ChildNodes->FindNode(WideString("Remark"));
            str = "";
            node->SetNodeValue(str);

//保存XML
            xml->SaveToFile("config.xml");
            //释放
            delete xml;
            cxQry->Next();
        }
        ShowMessage("XML文件生成完毕!");
    }

生成的XML文件格式如下:

<?xml version="1.0"?>
<barcode>
  <TemplateNumber>001</TemplateNumber>
  <ProductName>32S棉2*2罗纹</ProductName>
  <ColorCode>068#大红</ColorCode>
  <ColorNumber>LC03939</ColorNumber>
  <BatchNo>YZ019112331</BatchNo>
  <Quantity>21.6</Quantity>
  <ProductUnit>KG</ProductUnit>
  <VolumeNumber>15</VolumeNumber>
  <Breadth></Breadth>
  <Grammage></Grammage>
  <Composition></Composition>
  <DateMark>19/12/07</DateMark>
  <OrderNumber>YZ191123051</OrderNumber>
  <FirstRemark>万邦A4</FirstRemark>
  <Remark></Remark>
</barcode>

BCB6无XMLDOC控件下生成及保存XML文件相关推荐

  1. 第三方控件DevExpress的TreeList绑定XML文件

    研究了两天,网上也看了不少资料,但都是静态绑定到TreeList,就是在已知道表的情况下进行绑定,表中已经把KeyFieldName和ParentFieldName的关系确定好了,比较死板.我需要的功 ...

  2. ASP.NET的TreeView和Menu控件分别绑定siteMap和xml文件并应用母版

    目录结构 .aspx <%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage. ...

  3. 【cocosStdio系列】之UI控件下

    [cocosStdio系列]之UI控件下       大家好,我是Lampard       今天与大家通过一个demo了解cocos给我们提供的各个UI控件 reference:<cocos2 ...

  4. html ui 下拉列表,Atitit.ui控件-下拉菜单选择控件的实现select html_html/css_WEB-ITnose...

    Atitit.ui控件---下拉菜单选择控件的实现select html 1. 调用& model的实现 1 2. -----select.jsp------ 1 1. 调用& mod ...

  5. [转] C#2010 在TreeView控件下显示路径下所有文件和文件夹

    原文 张丹-小桥流水,C#2010 在TreeView控件下显示路径下所有文件和文件夹 C#2010学习过程中有所收获,便总结下来,希望能给和我一样在学习遇到困难的同学提供参考. 本文主要介绍两个自定 ...

  6. 关于duilib CComboUI控件下拉框 字体显示 与xml 设置不相符的问题

    duilib的下拉列表框的字体无法通过itemfont自定义 关于duilib CComboUI控件下拉框 字体显示 与xml 设置不相符的问题 解决办法: 添加链接描述 在设置全局字体属性时,设置字 ...

  7. java testng 源代码_根据测试用例的java源码自动生成TestNG的XML文件

    1.读取当前项目目录下的所有.java文件,过滤出含有@Test标识的java源文件 2.读取java文件内容,解析出包名.类名.方法名.使用Vector存储,第一个元素为包名,第二个元素为类名,从第 ...

  8. SSM 生成mapper中xml文件:未能解析映射资源:“文件嵌套异常

    SSM 生成mapper中xml文件:未能解析映射资源:"文件嵌套异常 参考文章: (1)SSM 生成mapper中xml文件:未能解析映射资源:"文件嵌套异常 (2)https: ...

  9. C# 系统应用之ListView控件 (二).加载选中节点文件夹下文件信息

    在项目中的前面一篇文章"C# 系统应用之TreeView控件 (一).显示树状磁盘文件目录及加载图标"中我讲述了如何使用TreeView控件树状实现显示"我的电脑&quo ...

最新文章

  1. 调查显示:中国医生乐于以新媒体为途径普及健康科普信息
  2. Spring和SpringMVC自动扫描注解类的冲突问题
  3. 我要再接再力 学更多
  4. python 生成器_提高你的Python: 解释‘yield’和‘Generators(生成器)’
  5. 第九十六期:JavaScript 中的 4 个相等比较算法的介绍
  6. 看完这篇你就明白,为什么说大部分企业建设数据中台都会失败?
  7. 数字组合(信息学奥数一本通-T1291)
  8. 最长上升子序列nlogn算法
  9. 加快战略转型进程:统帅电器挺进年轻用户市场
  10. js中apply使用方法小议(转载)
  11. Matlab-中寻找峰值函数,波峰波谷
  12. python控制代码使用的gpu
  13. RIP实现等开销负载均衡的配置
  14. 分页加载总页数计算公式
  15. 桂花网蓝牙路由器Cassia X1000产品介绍
  16. [转载] 中华典故故事(孙刚)——35 一文钱难倒英雄汉
  17. lpl夏季赛2021赛程表出炉,用当贝投影F3百吋大屏看比赛!
  18. 论文综述:问答系统综述
  19. 2022-2028年全球及中国斯特林发动机行业投资前景分析
  20. HTML font 标签的 size 属性

热门文章

  1. 前端体系xmind思维导图集合
  2. android opencv卡顿,Opencv读取摄像头卡顿
  3. phoenix5表结构变更,修改字段类型
  4. html2canvas协议慢,html2canvas踩坑记
  5. 模型的显存和参数量计算
  6. React项目的国际化
  7. centos格式化优盘命令_u盘格式化工具fat32u盘安装centos6.5
  8. 陈冠希翻车都十年了,还有人在疯狂偷窥你的照片
  9. 开源免费代码_02_单摇杆远程遥控小车,基于Arduino的ESP-NOW,ESP32发送指令、ESP32接收指令,实现小车毫秒级完美控制_公羽兴
  10. 百度2020全年财报发布,如何看待百度智能云这一彩蛋?