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卡信息的相关 ...
随机推荐
- 信贷风控模型开发----模型流程&好坏样本定义
第二章 模型开发流程&好坏样本定义 2.1模型开发流程 2.1.1 评分模型流程图 2.1.2流程图阐述 该小结提出了一些数据指标,如果不明白没有关系,往后的文章笔者会一个个地解释这些指标的含 ...
- vue表格业务
https://www.jianshu.com/p/79f39f2c1382 https://blog.csdn.net/zhongshijun521/article/details/78390614 ...
- deepin 更改默认网卡名称为eth和wlan
deepin 更改默认的网卡名称为eth和无线网卡名wlan vim /etc/default/grub 在 GRUB_CMDLINE_LINUX_DEFAULT="sqlash quiet ...
- list split批量处理
<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-colle ...
- Qt 多线程QThread实现方法之一
基本思想 在主线程中,哪里需用多线程,就在哪里创建一个QThread实例: 把耗时操作封装到一个继承于QObject的子类(这里叫做工作类Worker)槽函数中: 创建QThread实例和Worker ...
- HDU-1164-Eddy's research I(分解质因数)
由于这道题目数据范围小,所以属于水题.可以采取暴力的做法来解决. 代码如下: #include"bits/stdc++.h" using namespace std; ; ]; v ...
- jenkins使用(1)
术语:构建一次job指的是执行一次任务 注:到了公司,如果需要搭建jenkins环境可以找运维 jenkins使用: 创建视图 常用的两个配置: 新建任务: 可以选择构建后的步骤: 然后保存 图标状态 ...
- jQuery的html(),text()和val()比较
.html()用为读取和修改元素的HTML标签: .text()用来读取或修改元素的纯文本内容: .val()用来读取或修改表单元素的value值: 一看黑体的部分,所以把text和html分为一组, ...
- Android中的路径记录
Android中的路径记录 | RobinBlog 导航 导航 博客 分类 标签 友链 关于 搜索 Environment.getDataDirectory().getPath()=/dataEnvi ...
- Daily Practice 2016-09-20
算法 回文(Palindrome)数字:判断一个数字是不是回文数字,不能使用另外的空间. 提示: 负数可以是回文数字吗? 如果转为字符串需要新分配空间 你也许想到了反转数字,但反转数字可能溢出,怎样处 ...