Delphi XE XML信息的读取
<?xml version="1.0" encoding="utf-"?> <ConString>
<Item>
<Name/>
<Type>C</Type>
<Value>
<Option></Option>
</Value>
</Item>
<Item>
<Name/>
<Type>C</Type>
<Value>
<Option></Option>
</Value>
</Item>
<Item>
<Name/>
<Type>C</Type>
<Value>
<Option></Option>
</Value>
</Item>
<Item>
<Name/>
<Type>C</Type>
<Value>
<Option></Option>
</Value>
</Item>
<Item>
<Name/>
<Type>C</Type>
<Value>
<Option></Option>
<Option></Option>
</Value>
</Item>
<Item>
<Name/>
<Type>C</Type>
<Value>
<Option>后门上车踏板L</Option>
<Option>后门上车踏板L</Option>
</Value>
</Item>
<Item>
<Name/>
<Type>C</Type>
<Value>
<Option>CW733538</Option>
<Option>CW733538</Option>
</Value>
</Item>
<Item>
<Name/>
<Type>N</Type>
<Value>
<Option></Option>
<Option></Option>
</Value>
</Item>
<Item>
<Name/>
<Type>N</Type>
<Value>
<Option></Option>
<Option></Option>
</Value>
</Item>
</ConString>
以上为XML信息,如何读取Option后的内容呢?
procedure TMainForm.ReadXml(Node: IXMLNode; var Params: string);
var
NodeList: IXMLNodeList;
strName: string;
i: Integer;
begin
if not Node.HasChildNodes then
Exit;
NodeList := Node.ChildNodes;
for i := to NodeList.Count - do
begin
strName := NodeList[i].NodeName;
if NodeList[i].IsTextElement then //如果是元素
begin
if NodeList[i].NodeName = 'Option' then
Params := Params + NodeList[i].NodeValue + ##;
end
else if NodeList[i].HasChildNodes then //如果有子节点
begin
ReadXml(NodeList[i], Params);
end;
end;
end;
procedure TMainForm.btn4Click(Sender: TObject);
var
node: IXMLNode;
ParamsStr: string;
var
LDocument: IXMLDocument;
var
Paramslist: TStringList;
begin
LDocument := TXMLDocument.Create(nil);
LDocument.LoadFromXML(mmoxml.Text);
node := LDocument.DocumentElement; ReadXml(node, ParamsStr);
Paramslist := TStringList.Create;
try
Paramslist.Text := ParamsStr; //把数据传成数组
ShowMessage(Paramslist.Text);
finally
Paramslist.Free;
end;
end;
最后,看一下运行结果:

Delphi XE XML信息的读取的更多相关文章
- Delphi操作XML
Delphi操作XML Delphi操作XMl,只要使用 NativeXml.我是用的版本是4..NativeXML的使用方法比较简单,但是功能很强大. XE2的话,要在simdesign.inc后面 ...
- WinForm中DataGridView对XML文件的读取
转自http://www.cnblogs.com/a1656344531/archive/2012/11/28/2792863.html c#读取XML XML文件是一种常用的文件格式,例如Win ...
- Delphi操作XML - 冰雪傲骨
Delphi操作XMl,只要使用 NativeXml.我是用的版本是4..NativeXML的使用方法比较简单,但是功能很强大. XE2的话,要在simdesign.inc后面加上: // Delph ...
- delphi操作xml学习笔记 之一 入门必读
Delphi 对XML的支持---TXMLDocument类 Delphi7 支持对XML文档的操作,可以通过TXMLDocument类来实现对XML文档的读写.可以利用TXMLDocum ...
- delphi 2010与delphi XE破解版的冲突
在系统中同时安装了Dephi 2010LITE版与Delphi XE lite后,总是会有一个有问题 是因为两者都是读取C:\ProgramData\Embarcadero目录下的license文件, ...
- delphi 导出xml文件
procedure TfrmTallageDetail.ToolButton1Click(Sender: TObject); var Xml: TXMLDocument; Rootbusiness,R ...
- Delphi操作XML简介
参考:http://www.delphifans.com/InfoView/Article_850.html Delphi 7支持对XML文档的操作,可以通过 TXMLDocument类来实现对XML ...
- Delphi中使用python脚本读取Excel数据
Delphi中使用python脚本读取Excel数据2007-10-18 17:28:22标签:Delphi Excel python原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 . ...
- Android系统分析之运营商显示流程分析之运营商信息的读取流程二
运营商显示流程分析之运营商信息的读取流程 一. SIM卡运营商信息的读取 从前面的 运营商信息的获取和赋值 可以知道SIM卡运营商的赋值最终是在 SIMRecords 中完成的, 而SIM卡信息的相关 ...
随机推荐
- 96)PHP,文件上传(2)
(1)那么既然看到文件即使上传成功,但是只是在脚本周期内有效,脚本只要结束(脚本结束其实很快的),文件就会自动消失,那么怎么才能永久存储文件呢: 函数: Move_uploaded_file(上传临时 ...
- zabbix 使用邮件发送告警信息
配置系统mail命令,使其可以发送外网邮件 mail 命令配置 修改zabbix_server配置文件,使其可以执行告警脚本 [root@rexen etc]# vim /usr/local/zabb ...
- python学习笔记(11)文件操作
一.读文件 读写文件是最常见的IO操作.Python内置了读写文件的函数,用法和C是兼容的. 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直 ...
- Hexo博客部署
前些天使用wordpress程序搭建了个人网站,但感觉太重比较适合个人空间,所以这次介绍Hexo搭建免费博客,先提供官网给大家英文版的请点击这里,中文版的请点击这里,在安装一个Git,再是github ...
- SPA(单页面web应用)和MPA(多页面web应用)的区别
转:https://blog.csdn.net/amaniz/article/details/79203562 vue多页面应用开发请参见: https://github.com/amunamuna/ ...
- Nginx笔记总结十五:nginx+keepalive+proxy_cache配置高可用nginx集群和高速缓存
nginx编译 wget http://labs.frickle.com/files/ngx_cache_purge-2.3.tar.gz ./configure --prefix=/usr/loca ...
- 原创:CentOS 环境中 Zabbix 3.4 的安装部署实践
IT管理工作中,如果没有对服务器.网络设备.服务.进程.应用等的监控,往往是用户发送问题报告后才知道出了问题.事后救火显得被动,不能从容面对问题. 才有了部署一套网络监控系统的想法,机缘巧合下结识了Z ...
- Elegy written in a country church-yard
分享一首好诗:托马斯·格雷的<墓地哀歌>. "ELEGY WRITTEN IN A COUNTRY CHURCH-YARD" The curfew tolls the ...
- @RequestBody 参数为string正常改为对象时不报错但获取不到值
@RequestBody 参数为string正常改为对象时不报错但获取不到值 试了好多办法都不行 最后 原因 jackson 包的版本号不匹配 2.9.0的不能封装进对象,可以运行且不报错但获取不到 ...
- JavaScript提供了哪几种“异步模式”?
1.回调函数(callbacks) 2.事件监听 3.Promise对象