<?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. Qt 线程池QThreadPool类、QRunnable类

    QThreadPool类 用来管理 QThreads.此类中的所有函数都是线程安全的. 主要属性: 1.activeThreadCount: 此属性表示线程池中的活动线程数,通过activeThrea ...

  2. python语法基础-基础-变量和数据类型

    ###############   第一个python程序   ############### print("hello python") # 打印hello python # 分 ...

  3. Android下的鉴权实现方案

    软件原理 不赘述,参考: 软件License认证方案的设计思路 License文件离线鉴权 机械指纹,不可逆的加密算法,如MD5 功能鉴权,可逆的不对称加密算法,服务端公钥加密,app端私钥解密,如R ...

  4. 疯狂收集个人信息的谷歌,为何不像Facebook那样让人毛骨悚然?

    自从Facebook信息泄露丑闻事件发生后,互联网上的个人隐私及安全成为大众的"心病".而大众最讨厌的,是互联网企业收集自己的信息,因此都在积极讨伐这种行为.但他们却忘了,收集用户 ...

  5. Rip路由实验

    以上是实验要求和实验拓扑图 (实验拓扑自己重新连线) 1.在R1-R4,4台路由器上各设置一个回环口 2.略 3.在四个路由器上配置rip(rip的基本命令) #rip 1 #version 2 #u ...

  6. python去除列表中重复元素的方法

    列表中元素位置的索引用的是L.index 本文实例讲述了Python去除列表中重复元素的方法.分享给大家供大家参考.具体如下: 比较容易记忆的是用内置的set 1 2 3 l1 = ['b','c', ...

  7. [LC] 240. Search a 2D Matrix II

    Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the follo ...

  8. MOOC(7)- case依赖、读取json配置文件进行多个接口请求-完整的测试类,含依赖测试(15)

    ddt.依赖测试.断言.测试数据写回 # -*- coding: utf-8 -*- # @Time : 2020/2/12 23:07 # @File : test_class_15.py # @A ...

  9. java枚举与常量类的区别

    1)枚举型可以直接与数据库打交道,我通常使用varchar类型存储,对应的是枚举的常量名.(数据库中好像也有枚举类型,不过也没用过) 2) switch语句支持枚举型,当switch使用int.Str ...

  10. stress施压案例分析——cpu、io、mem【命令分析】

    stress施压命令分析 一.stress --cpu 1 --timeout 600  分析现象?负载为啥这么高?top命令查看用户进程消耗的cpu过高(stress进程消耗的) 分析现象,可以看出 ...