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) 生成更易读的帮助文档 ...
随机推荐
- yaml语法
http://blog.csdn.net/mack415858775/article/details/51015662 name: Tom Smith age: 37 spouse: name: Ja ...
- zigbee ---- endpoint理解
很多资料将其翻译为“端点”,我们不如也这么叫. 在windows上使用不同的软件进行通信,数据包到达不同的应用的方法就是通过寻找IP地址和端口号来确定某一个应用的,也就是我们所说的五元组(源IP,目的 ...
- transition(动画属性)
CSS 过渡(transition)是通过定义元素从起点的状态和结束点的状态,在一定的时间区间内实现元素平滑地过渡或变化的一种补间动画机制.你可以让属性的改变过程持续一段时间,而不是立即生效. 通过t ...
- MyBatis对象关联关系---- association与collection
Mybatis处理“一对多”的关系时,需要用到associasion元素.处理”多对一“用collection元素来实现(这两个元素在之前mapper文件中提到过). 本例子中,假设一名User可以有 ...
- HTTP中的URL长度限制
首先,其实http 1.1 协议中对url的长度是不受限制的,协议原文: The HTTP protocol does not place any a priori limit on the leng ...
- Javadoc注释的用法
Javadoc注释的用法 相关阅读:http://blog.163.com/hui_san/blog/static/5710286720104191100389/ Java 文档// 注释一行/* ...
- saltstack入门至放弃之salt安装部署
学习了一段时间的saltstack,是时候记录下了.友提:学习环境是两台centos_7.2_x64机器 系统初始化: 两台机器执行以下脚本即可(友提:两台服务器的主机名配置在/etc/hosts中, ...
- [POJ2187][BZOJ1069]旋转卡壳
旋转卡壳 到现在依然不确定要怎么读... 以最远点对问题为例,枚举凸包上的两个点是最简单的想法,时间复杂度O(n2) 我们想象用两条平行线卡着这个凸包,当其中一个向某个方向旋转的时候另一个显然也是朝同 ...
- 关于k Line Chart (k线图)
K Line Chart python实现k线图的代码,之前找过matplotlib中文文档但是画k线图的finance方法已经弃用了.所以自己在网上搜寻一下加上改编,很好的实现出k线图, 代码如下: ...
- nginx重启失败
参考: http://www.bubuko.com/infodetail-1742262.html Starting nginx: nginx: [emerg] bind() to 0.0.0.0:8 ...