<?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信息的读取的更多相关文章

  1. Delphi操作XML

    Delphi操作XML Delphi操作XMl,只要使用 NativeXml.我是用的版本是4..NativeXML的使用方法比较简单,但是功能很强大. XE2的话,要在simdesign.inc后面 ...

  2. WinForm中DataGridView对XML文件的读取

    转自http://www.cnblogs.com/a1656344531/archive/2012/11/28/2792863.html c#读取XML   XML文件是一种常用的文件格式,例如Win ...

  3. Delphi操作XML - 冰雪傲骨

    Delphi操作XMl,只要使用 NativeXml.我是用的版本是4..NativeXML的使用方法比较简单,但是功能很强大. XE2的话,要在simdesign.inc后面加上: // Delph ...

  4. delphi操作xml学习笔记 之一 入门必读

    Delphi 对XML的支持---TXMLDocument类       Delphi7 支持对XML文档的操作,可以通过TXMLDocument类来实现对XML文档的读写.可以利用TXMLDocum ...

  5. delphi 2010与delphi XE破解版的冲突

    在系统中同时安装了Dephi 2010LITE版与Delphi XE lite后,总是会有一个有问题 是因为两者都是读取C:\ProgramData\Embarcadero目录下的license文件, ...

  6. delphi 导出xml文件

    procedure TfrmTallageDetail.ToolButton1Click(Sender: TObject); var Xml: TXMLDocument; Rootbusiness,R ...

  7. Delphi操作XML简介

    参考:http://www.delphifans.com/InfoView/Article_850.html Delphi 7支持对XML文档的操作,可以通过 TXMLDocument类来实现对XML ...

  8. Delphi中使用python脚本读取Excel数据

    Delphi中使用python脚本读取Excel数据2007-10-18 17:28:22标签:Delphi Excel python原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 . ...

  9. Android系统分析之运营商显示流程分析之运营商信息的读取流程二

    运营商显示流程分析之运营商信息的读取流程 一. SIM卡运营商信息的读取 从前面的 运营商信息的获取和赋值 可以知道SIM卡运营商的赋值最终是在 SIMRecords 中完成的, 而SIM卡信息的相关 ...

随机推荐

  1. 96)PHP,文件上传(2)

    (1)那么既然看到文件即使上传成功,但是只是在脚本周期内有效,脚本只要结束(脚本结束其实很快的),文件就会自动消失,那么怎么才能永久存储文件呢: 函数: Move_uploaded_file(上传临时 ...

  2. zabbix 使用邮件发送告警信息

    配置系统mail命令,使其可以发送外网邮件 mail 命令配置 修改zabbix_server配置文件,使其可以执行告警脚本 [root@rexen etc]# vim /usr/local/zabb ...

  3. python学习笔记(11)文件操作

    一.读文件 读写文件是最常见的IO操作.Python内置了读写文件的函数,用法和C是兼容的. 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直 ...

  4. Hexo博客部署

    前些天使用wordpress程序搭建了个人网站,但感觉太重比较适合个人空间,所以这次介绍Hexo搭建免费博客,先提供官网给大家英文版的请点击这里,中文版的请点击这里,在安装一个Git,再是github ...

  5. SPA(单页面web应用)和MPA(多页面web应用)的区别

    转:https://blog.csdn.net/amaniz/article/details/79203562 vue多页面应用开发请参见: https://github.com/amunamuna/ ...

  6. Nginx笔记总结十五:nginx+keepalive+proxy_cache配置高可用nginx集群和高速缓存

    nginx编译 wget http://labs.frickle.com/files/ngx_cache_purge-2.3.tar.gz ./configure --prefix=/usr/loca ...

  7. 原创:CentOS 环境中 Zabbix 3.4 的安装部署实践

    IT管理工作中,如果没有对服务器.网络设备.服务.进程.应用等的监控,往往是用户发送问题报告后才知道出了问题.事后救火显得被动,不能从容面对问题. 才有了部署一套网络监控系统的想法,机缘巧合下结识了Z ...

  8. Elegy written in a country church-yard

    分享一首好诗:托马斯·格雷的<墓地哀歌>. "ELEGY WRITTEN IN A COUNTRY CHURCH-YARD" The curfew tolls the ...

  9. @RequestBody 参数为string正常改为对象时不报错但获取不到值

    @RequestBody 参数为string正常改为对象时不报错但获取不到值 试了好多办法都不行 最后 原因  jackson 包的版本号不匹配 2.9.0的不能封装进对象,可以运行且不报错但获取不到 ...

  10. JavaScript提供了哪几种“异步模式”?

    1.回调函数(callbacks) 2.事件监听 3.Promise对象