现在有一个文本文件,文件内容类似下面: <Database Hostname = "localhost" Username = "root" Password = "root" Name = "test" Port = "3306" Type = "1" >
<Listen Host="0.0.0.0"
WorldServerPort = "8129" >
....... 我想编写一个函数来读取Database 内的Hostname后面的值(即localhost)、Username后面的值(root)、以及:onewow、3306、0.0.0.0等数据。 可能说的不太清楚,不知道有没有人能够提供一下思路或者程序代码? budded的回答:
用xml解析器, uses msxml;
var
FDoc: IXMLDOMDocument;
FNode: IXMLDOMNode;
begin
FDoc := CoDOMDocument.Create;
if FDoc.loadXML( 'Your Data ') then
begin
FNode := FDoc.selectSingleNode( 'Database/Hostname ');
if Assigned(FNode) then
Result := FNode.nodeValue; // get value
end;
end; 首先谢谢budded,不过我所需要处理的文本并非xml规则的,因为最后以>结尾而非/> ?>结尾,所以fdoc.loadxml不能读取成功。还有没有人可以给出一个更好的解决方案?因为我所需要处理的文件内把含了很多这样的数据需要提取。
<Listen Host="0.0.0.0"
WorldServerPort = "8129" >
....... 我想编写一个函数来读取Database 内的Hostname后面的值(即localhost)、Username后面的值(root)、以及:onewow、3306、0.0.0.0等数据。 可能说的不太清楚,不知道有没有人能够提供一下思路或者程序代码? budded的回答:
用xml解析器, uses msxml;
var
FDoc: IXMLDOMDocument;
FNode: IXMLDOMNode;
begin
FDoc := CoDOMDocument.Create;
if FDoc.loadXML( 'Your Data ') then
begin
FNode := FDoc.selectSingleNode( 'Database/Hostname ');
if Assigned(FNode) then
Result := FNode.nodeValue; // get value
end;
end; 首先谢谢budded,不过我所需要处理的文本并非xml规则的,因为最后以>结尾而非/> ?>结尾,所以fdoc.loadxml不能读取成功。还有没有人可以给出一个更好的解决方案?因为我所需要处理的文件内把含了很多这样的数据需要提取。
解决方案 »
- 文件存放读取所遇到的问题,请大家帮忙
- 用winSocket Api还是Indy?
- 怎么让DBGRID自动适应列宽?
- 如何在ADOQUERY的数据集中添加类似"总计"之类的一条记录?
- ★★★万分紧急,fastreport中如何根据条件设置字体的颜色★★★
- 新手上路!快来拿分!!!在线等待!
- 急!!关于ADOQUERY数据更新问题。(如何只修改多表连接的数据集中一个表的数据)
- 一个Delphi6关于Ado的问题
- 谁懂如何开发IE插件!?????????????
- 怪问题,高分相送,程序的某一个窗体在运行一段时间后便消失了,不能显示了,谁能指点?
- 初入DELPHI,请各位指条明路
- help me,初学Delphi的问题!!
不过你给的实例信息太少,不能判断是不是XML,可能通过查找一些关键字也能提取,如Hostname,Username.......我的答案就是读取文件ReadLn,然后提取,答案就在上次的回答中