Delphi 7生成XML
文件格式为:
Day 制1課 U12 ASSY01 Wrist 1009 0 2018/05/18 09:35:59
Day 制1課 U12 ASSY02 Wrist 1010 0 2018/05/18 09:36:01
Day 制1課 U12 ASSY03 Wrist 1011 0 2018/05/18 09:36:03
Day 制1課 U12 ASSY04 Wrist 1012 0 2018/05/18 09:36:05
Day 制1課 U12 ASSY05 Wrist 1013 0 2018/05/18 09:36:07
Day 制1課 U12 ASSY06 Wrist 1014 0 2018/05/18 09:36:10
Day 制1課 U12 ASSY07 Wrist 1015 0 2018/05/18 09:36:12
Day 制1課 U12 ASSY08 Wrist 1016 0 2018/05/18 09:36:14
Day 制1課 U12 ASSY09 Wrist 1017 0 2018/05/18 09:36:16
2.把此文件转成XML(用Delphi7):
procedure TForm1.Button1Click(Sender: TObject);
var
lst,lstfield :TStringList;
xml:TXMLDocument;
node :IXMLNode;
i,j:integer;
begin
xml := TXMLDocument.Create(nil);
try
xml.Active := True;
xml.Version := '1.0';
xml.Encoding := 'UTF-8';
xml.DocumentElement := xml.CreateElement('ESDDATA','ESD');
xml.Options:=[doNodeAutoIndent];
xml.NodeIndentStr :=#;
lstfield := TStringList.Create;
try
lst := TStringList.Create;
try
lst.LoadFromFile('ESDStatus.txt');
Memo1.Text := lst.Text;
for i:= to lst.Count- do
begin
lstfield.Clear; ExtractStrings([Char(VK_TAB)],[' '], PChar(lst[i]), lstfield) ; if lstfield.Count> then
begin
node := xml.DocumentElement.AddChild('item');
{node.AddChild('SHIFT_NAME').Text :=lstfield[0]; --加子元素
node.AddChild('PRODUCT_ROOM').Text :=lstfield[1];
node.AddChild('PDLINE_NAME').Text :=lstfield[2];
node.AddChild('POSITION').Text :=lstfield[3];
node.AddChild('CATEGORY').Text :=lstfield[4];
node.AddChild('NO').Text :=lstfield[5];
node.AddChild('STATUS').Text :=lstfield[6];
node.AddChild('PROCESSTIME').Text :=lstfield[7];}
node.Attributes['SHIFT_NAME']:= lstfield[]; //增加元素属性
node.Attributes['PRODUCT_ROOM']:= lstfield[];
node.Attributes['PDLINE_NAME']:= lstfield[];
node.Attributes['POSITION']:= lstfield[];
node.Attributes['CATEGORY']:= lstfield[];
node.Attributes['NO']:= lstfield[];
node.Attributes['STATUS']:= lstfield[];
node.Attributes['PROCESSTIME']:= lstfield[];
end;
end;
finally
lst.Free;
end;
finally
lstfield.Free;
end;
Memo2.Lines.Text:= xml.XML.Text;
finally
node:=nil;
xml.Active := false;
xml.Free;
end; end;
3 生成子元素的内容为:
<?xml version="1.0" encoding="UTF-8"?>
<ESDDATA xmlns="ESD">
<item>
<SHIFT_NAME>Day</SHIFT_NAME>
<PRODUCT_ROOM>鍒?瑾?/PRODUCT_ROOM>
<PDLINE_NAME>U12</PDLINE_NAME>
<POSITION>ASSY01</POSITION>
<CATEGORY>Wrist</CATEGORY>
<NO>1009</NO>
<STATUS>0</STATUS>
<PROCESSTIME>2018/05/18 09:35:59</PROCESSTIME>
</item>
<item>
<SHIFT_NAME>Day</SHIFT_NAME>
<PRODUCT_ROOM>鍒?瑾?/PRODUCT_ROOM>
<PDLINE_NAME>U12</PDLINE_NAME>
<POSITION>ASSY02</POSITION>
<CATEGORY>Wrist</CATEGORY>
<NO>1010</NO>
<STATUS>0</STATUS>
<PROCESSTIME>2018/05/18 09:36:01</PROCESSTIME>
</item>
<item>
<SHIFT_NAME>Day</SHIFT_NAME>
<PRODUCT_ROOM>鍒?瑾?/PRODUCT_ROOM>
<PDLINE_NAME>U12</PDLINE_NAME>
<POSITION>ASSY03</POSITION>
<CATEGORY>Wrist</CATEGORY>
<NO>1011</NO>
<STATUS>0</STATUS>
<PROCESSTIME>2018/05/18 09:36:03</PROCESSTIME>
</item>
<item>
<SHIFT_NAME>Day</SHIFT_NAME>
<PRODUCT_ROOM>鍒?瑾?/PRODUCT_ROOM>
<PDLINE_NAME>U12</PDLINE_NAME>
<POSITION>ASSY04</POSITION>
<CATEGORY>Wrist</CATEGORY>
<NO>1012</NO>
<STATUS>0</STATUS>
<PROCESSTIME>2018/05/18 09:36:05</PROCESSTIME>
</item>
<item>
<SHIFT_NAME>Day</SHIFT_NAME>
<PRODUCT_ROOM>鍒?瑾?/PRODUCT_ROOM>
<PDLINE_NAME>U12</PDLINE_NAME>
<POSITION>ASSY05</POSITION>
<CATEGORY>Wrist</CATEGORY>
<NO>1013</NO>
<STATUS>0</STATUS>
<PROCESSTIME>2018/05/18 09:36:07</PROCESSTIME>
</item>
<item>
<SHIFT_NAME>Day</SHIFT_NAME>
<PRODUCT_ROOM>鍒?瑾?/PRODUCT_ROOM>
<PDLINE_NAME>U12</PDLINE_NAME>
<POSITION>ASSY06</POSITION>
<CATEGORY>Wrist</CATEGORY>
<NO>1014</NO>
<STATUS>0</STATUS>
<PROCESSTIME>2018/05/18 09:36:10</PROCESSTIME>
</item>
<item>
<SHIFT_NAME>Day</SHIFT_NAME>
<PRODUCT_ROOM>鍒?瑾?/PRODUCT_ROOM>
<PDLINE_NAME>U12</PDLINE_NAME>
<POSITION>ASSY07</POSITION>
<CATEGORY>Wrist</CATEGORY>
<NO>1015</NO>
<STATUS>0</STATUS>
<PROCESSTIME>2018/05/18 09:36:12</PROCESSTIME>
</item>
<item>
<SHIFT_NAME>Day</SHIFT_NAME>
<PRODUCT_ROOM>鍒?瑾?/PRODUCT_ROOM>
<PDLINE_NAME>U12</PDLINE_NAME>
<POSITION>ASSY08</POSITION>
<CATEGORY>Wrist</CATEGORY>
<NO>1016</NO>
<STATUS>0</STATUS>
<PROCESSTIME>2018/05/18 09:36:14</PROCESSTIME>
</item>
<item>
<SHIFT_NAME>Day</SHIFT_NAME>
<PRODUCT_ROOM>鍒?瑾?/PRODUCT_ROOM>
<PDLINE_NAME>U12</PDLINE_NAME>
<POSITION>ASSY09</POSITION>
<CATEGORY>Wrist</CATEGORY>
<NO>1017</NO>
<STATUS>0</STATUS>
<PROCESSTIME>2018/05/18 09:36:16</PROCESSTIME>
</item>
</ESDDATA>
4 生成元素属性内容为:
<?xml version="1.0" encoding="UTF-8"?>
<ESDDATA xmlns="ESD">
<item SHIFT_NAME="Day" PRODUCT_ROOM="鍒?瑾? PDLINE_NAME="U12" POSITION="ASSY01" CATEGORY="Wrist" NO="1009" STATUS="0" PROCESSTIME="2018/05/18 09:35:59"/>
<item SHIFT_NAME="Day" PRODUCT_ROOM="鍒?瑾? PDLINE_NAME="U12" POSITION="ASSY02" CATEGORY="Wrist" NO="1010" STATUS="0" PROCESSTIME="2018/05/18 09:36:01"/>
<item SHIFT_NAME="Day" PRODUCT_ROOM="鍒?瑾? PDLINE_NAME="U12" POSITION="ASSY03" CATEGORY="Wrist" NO="1011" STATUS="0" PROCESSTIME="2018/05/18 09:36:03"/>
<item SHIFT_NAME="Day" PRODUCT_ROOM="鍒?瑾? PDLINE_NAME="U12" POSITION="ASSY04" CATEGORY="Wrist" NO="1012" STATUS="0" PROCESSTIME="2018/05/18 09:36:05"/>
<item SHIFT_NAME="Day" PRODUCT_ROOM="鍒?瑾? PDLINE_NAME="U12" POSITION="ASSY05" CATEGORY="Wrist" NO="1013" STATUS="0" PROCESSTIME="2018/05/18 09:36:07"/>
<item SHIFT_NAME="Day" PRODUCT_ROOM="鍒?瑾? PDLINE_NAME="U12" POSITION="ASSY06" CATEGORY="Wrist" NO="1014" STATUS="0" PROCESSTIME="2018/05/18 09:36:10"/>
<item SHIFT_NAME="Day" PRODUCT_ROOM="鍒?瑾? PDLINE_NAME="U12" POSITION="ASSY07" CATEGORY="Wrist" NO="1015" STATUS="0" PROCESSTIME="2018/05/18 09:36:12"/>
<item SHIFT_NAME="Day" PRODUCT_ROOM="鍒?瑾? PDLINE_NAME="U12" POSITION="ASSY08" CATEGORY="Wrist" NO="1016" STATUS="0" PROCESSTIME="2018/05/18 09:36:14"/>
<item SHIFT_NAME="Day" PRODUCT_ROOM="鍒?瑾? PDLINE_NAME="U12" POSITION="ASSY09" CATEGORY="Wrist" NO="1017" STATUS="0" PROCESSTIME="2018/05/18 09:36:16"/>
</ESDDATA>
5:可以把以上的内容做为参数传给数据库进行处理,保证事物的原子性(具休调用待后续提供).
Delphi 7生成XML的更多相关文章
- Delphi中解析Xml的控件-SimDesign NativeXml
Delphi中解析Xml的控件-SimDesign NativeXml 正在学习,感觉应用很方便.无源代码的版本还是免费的. SimDesign.NativeXml是一个delphi和bcb的XML控 ...
- Android 解析XML文件和生成XML文件
解析XML文件 public static void initXML(Context context) { //can't create in /data/media/0 because permis ...
- 让Visual Studio 2013为你自动生成XML反序列化的类
Visual Sutdio 2013增加了许多新功能,其中很多都直接提高了对代码编辑的便利性.如: 1. 在代码编辑界面的右侧滚动条上显示不同颜色的标签,让开发人员可以对所编辑文档的修改.查找.定位情 ...
- Rss 订阅:php动态生成xml格式的rss文件
Rss 简介: 简易信息聚合(也 叫聚合内容)是一种描述和同步网站内容的格式.使用RSS订阅能更快地获取信息,网站提供RSS输出,有利于让用户获取网站内容的最新更新.网络用户可以在客户端借助于支持RS ...
- java 解析并生成 XML
在 java 中使用 Dom4j 解析 XML 对 XML 文件的解析,通常使用的是 Dom4j 和 jdom 作为XML解析工具. 在此只介绍下 Dom4j 对 XML 文件的解析使用方法. 1. ...
- Java生成XML文件
我们在数据库中的数据可以将其提取出来生成XML文件,方便传输.例如数据库中有Admin这张表: 我们写一个java类表示admin数据: package xmlDom.vo; import java. ...
- Android 使用xml序列化器生成xml文件
在<Android 生成xml文件>一文中使用流的形式写入xml格式文件,但是存在一定的问题,那就是在短信内容中不能出现<>之类的括号,本文使用xml序列化器来解决 xml序列 ...
- Android 生成xml文件
生成XML文件备份短信,其格式为: <?xml version="1.0" encoding="UTF-8" standalone="true& ...
- VS2010 生成Xml格式的注释文档
项目, 属性, build, 勾选xml document file, 重新build, 即可生成xml注释文件, 然后还得找工具软件(看到anytao推荐SandCastle) 生成更易读的帮助文档 ...
随机推荐
- AngularJs开发——控制器间的通信
AngularJs开发——控制器间的通信 指令与控制器之间通信,无非是以下几种方法: 基于scope继承的方式 基于event传播的方式 service的方式 基于scope继承的方式 最简单的让控制 ...
- synchronized ---- 作用
获得同步锁: 1.清空工作内存: 2.从主内存拷贝对象副本到工作内存: 3.执行代码(计算或者输出等): 4.刷新主内存数据: 5.释放同步锁.
- AngularJs学习——实现数据绑定的三种方式
三种方式: 方式一:<h5>{{msg}}</h5> 此方式在页面刷新的时候会闪现{{}} 方式二:<h5 ng-bind="msg">< ...
- HDU1016 素数环---(dfs)
http://acm.hdu.edu.cn/showproblem.php?pid=1016 Sample Input 6 8 Sample Output Case 1: 1 4 3 2 5 6 ...
- centos7装机时更改网卡名为eth0操作
- DotNETCore 学习笔记 全球化和本地化
Globalization and localization ********************************************************************* ...
- urlparse获取url后面的参数
copyfrom: http://www.cnpythoner.com/post/263.html 如果给定你一个URL,比如: http://url/api?param=2¶m2=4 ...
- wx.ScrolledWindow wx.PseudoDC
# encoding: utf-8 import logging import random import wx import wx.lib.inspection def GetMyBitmap(): ...
- 搭建 Linux 下 GitLab 服务器【转】
转自:http://blog.csdn.net/passion_wu128/article/details/8216086 版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[-] 平台 ...
- Appium===Appium+Python API(转)
Appium+python自动化8-Appium Python API 前言: Appium Python API全集,不知道哪个大神整理的,这里贴出来分享给大家. 1.contexts contex ...