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卡信息的相关 ...
随机推荐
- 解决一个通过 WebReference 调用 WCF 时自定义 DataContract 类参数提交的问题
先看一下VS2013自动创建默认的IService1.vb,注意自定义的数据契约 CompositeType ' 注意: 使用上下文菜单上的“重命名”命令可以同时更改代码和配置文件中的接口名“ISer ...
- Resin介绍及其使用配置
Resin介绍及其使用配置一 Resin是一个提供高性能的,支持 Java/PHP 的应用服务器.目前有两个版本:一个是GPL下的开源版本,提供给一些爱好者.开发人员和低流量网站使用:一种是收费的专业 ...
- Hibernate学习之hql 与sql
Hibernate中查询: createQuery( String qlString)使用的是HQL语句: createNativeQuery (String sqlString)使用的是SQL语句: ...
- [LC] 298. Binary Tree Longest Consecutive Sequence
Given a binary tree, find the length of the longest consecutive sequence path. The path refers to an ...
- linux环境下卸载mysql
第一种使用yum安装的mysql,使用如下命令进行卸载(不能确定使用何种方式安装的mysql情况下,按后续步骤一一进行处理即可): # yum remove mysql mysql-server my ...
- mysql 多字段更新
更新一个字段当好写 ; Query OK, rows affected (17.36 sec) Rows matched: Changed: Warnings: 问题是想更新多个字段sql serve ...
- 关于Pycharm安装扩展包的方法
Python中第三方的库(library).模块(module),包(package)的安装方法以及ImportError: No module named 1.pip install .... 一般 ...
- T-SQL总结
先简单说一下 SQL是国际组织订的统一标准,各数据库厂商根据该标准开发自己的数据库及语言 T-SQL就是Microsoft公司的 oracle的是PL/SQL 下面我们主要总结T-SQL: 1.T-S ...
- Factual question|具体特殊
Factual question:答案一定出于文章,不是总结 流程:找定位词做连连看,找对定位词,先看此句,然后看选项回文对照.如果找不到找上下两句话. 为了缩小范围,定位词是具体特殊,不要抽象词,可 ...
- UVALive 3835:Highway(贪心 Grade D)
VJ题目链接 题意:平面上有n个点,在x轴上放一些点,使得平面上所有点都能找到某个x轴上的点,使得他们的距离小于d.求最少放几个点. 思路:以点为中心作半径为d的圆,交x轴为一个线段.问题转换成用最少 ...