InnoSetup XML操作函数
用于InnoSetup 5 以上。对XML文件的操作,简化InnoSetup XML访问过程。
1. [代码]InnoSetup 5 脚本
{ ================================================================
功能: 打开一个XML文档, 返回文档的Nodes对象
参数: XMLFile 文档路径, 可以是有效的URL路径
XMLRoot 文档的根节点对象
返回: 无
}
procedure OpenXML(XMLFile: String; var XMLRoot: Variant);
var
XMLDocument: Variant;
begin
try
XMLDocument := CreateOleObject('MSXML2.DOMDocument');
XMLDocument.async := False;
XMLDocument.resolveExternals := False;
XMLDocument.load(XMLFile);
XMLRoot := XMLDocument.documentElement;
except
RaiseException(ExpandConstant('{cm:LOADXMLFAILED}'));
end;
end; { ================================================================
功能: 在打开的XML文档中, 查找指定的节点
参数: XMLNode 使用OpenXML打开的XML文档的节点
Key 节点名字
AttrName 节点属性名, 可以为空
AttrValue 节点属性值, 可以为空
FoundNode 找到的节点
返回: 成功返回True 否则返回False
}
function FindXMLNodeByKey(XMLNode: Variant; KeyName: String; AttrName: String; AttrVal: String; var FoundNode: Variant) :Boolean;
var
NodeIndex: Integer;
Node: Variant;
begin
Result := False;
try
if '' = AttrName then begin
FoundNode := XMLNode.selectSingleNode(KeyName)
Result := True;
end else
for NodeIndex := 0 to XMLNode.childNodes.length()-1 do begin
Node := XMLNode.childNodes.item(NodeIndex);
if (KeyName = Node.nodeName) and ( AttrVal = Node.Attributes.GetNamedItem(AttrName).value) then begin
FoundNode := XMLNode.childNodes.item(NodeIndex);
Result := True;
break;
end;
end;
except
Result := False;
end;
end; { ================================================================
功能: 获取子节点的值
参数: XMLNode 使用OpenXML打开的XML文档的节点
Key 节点名字
返回: 值, 获取失败时, 返回空
}
function GetXMLValue(XMLNode: Variant; KeyName: String) :String;
begin
try
Result := XMLNode.selectSingleNode(KeyName).text;
except
RaiseException(ExpandConstant('{cm:READXMLFAILED}'));
end;
end;
InnoSetup XML操作函数的更多相关文章
- dedecms功能性函数封装(XSS过滤、编码、浏览器XSS hack、字符操作函数)
dedecms虽然有诸多漏洞,但不可否认确实是一个很不错的内容管理系统(cms),其他也不乏很多功能实用性的函数,以下就部分列举,持续更新,不作过多说明.使用时需部分修改,你懂的 1.XSS过滤. f ...
- 【Java EE 学习 33 上】【JQuery样式操作】【JQuery中的Ajax操作】【JQuery中的XML操作】
一.JQuery中样式的操作 1.给id=mover的div采用属性增加样式.one $("#b1").click(function(){ $("#mover" ...
- Jq_文档操作方法、属性操作方法、CSS操作函数
JQuery文档操作方法 这些方法对于 XML 文档和 HTML 文档均是适用的,除了:html(). 方法 描述 addClass() ...
- c# xml操作类 比较齐全
using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Secu ...
- 【转】python XML 操作总结(创建、保存和删除,支持utf-8和gb2312)
原文地址:http://hi.baidu.com/tbjmnvbagkfgike/item/6743ab10af43bb24f6625cc5 最近写程序需要用到xml操作,看了看python.org上 ...
- jQuery 效果函数,jquery文档操作,jQuery属性操作方法,jQuerycss操作函数,jQuery参考手册-事件,jQuery选择器
jQuery 效果函数 方法 描述 animate() 对被选元素应用“自定义”的动画 clearQueue() 对被选元素移除所有排队的函数(仍未运行的) delay() 对被选元素的所有排队函数( ...
- PHP XML操作的各种方法解析
PHP提供了一整套的读取 XML文件的方法,很容易的就可以编写基于 XML的脚本程序.本章将要介绍 PHP与 XML的操作方法,并对几个常用的 XML类库做一些简要介绍. XML是一种流行的半结构化文 ...
- C#:XML操作类
写的一个XML操作类,包括读取/插入/修改/删除. using System; using System.Data; using System.Configuration; using System. ...
- LINQ系列:LINQ to XML操作
LINQ to XML操作XML文件的方法,如创建XML文件.添加新的元素到XML文件中.修改XML文件中的元素.删除XML文件中的元素等. 1. 创建XML文件 string xmlFilePath ...
随机推荐
- WCF的执行过程
既然是实现互通信.那么肯定会有概念意义上的服务端Server 和概念意义上的客户端 Client,在这里,我所说明的都是概念意义上的,单独强调此,是因为,基于WCF的通信没有物理上的划分,但是概念上 ...
- Mac系统升级到10.9(mavericks)时安装php扩展问题解决(转)
问题一: 执行执行 phpize 报错: grep: /usr/include/php/main/php.h: No such file or directory grep: /usr/include ...
- IDF实验室解题学习笔记1
1.图片里的英文 图片可以有很多种打开方式,破解该题,需将图片下载下来. 对于图片,我们可以使用图片编辑软件,进行各种调明暗,变色调等操作. 我们还可以使用2进制或者16进制的文件打开方式打开.该图使 ...
- 传智播客学习之HTML基础语法
一.基本格式 1.不用区分大小写. 2.HTML代码由<html>开始</html>结束.里面由头部分<head></head>和体部分<body ...
- javaweb文件下载
最近搞了一下struts文件上传下载了,一个是通过struts自带的类实现的下载方法,一个是通用的下载方法: struts实现: FileDownloadAction.java package com ...
- 简学LINGO(三)——实例篇
1. 装配线平衡模型 一个装配线含有一系列的工作站.在终于产品的加工过程中每一个工作站运行一种或者是几种特定的任务.装配线周期是指全部工作站完毕分配给他们各自任务所花费时间的最大值.平衡装配线的目标是 ...
- Qt使用QGraphicsView实现滑动窗体效果
QGraphicsView用来显示一个滚动视图区的QGraphicsScene内容.QGraphicsScene提供了QGraphicsItem的容器功能.通常与QGraphicsView一起使用来描 ...
- Java学习笔记——JDBC之与数据库MySQL的连接以及增删改查等操作
必须的准备工作 一.MySQL的安装.可以参考博文: http://blog.csdn.net/jueblog/article/details/9499245 二.下载 jdbc 驱动.可以从在官网上 ...
- 让DIV垂直居中的几种办法
1.使用CSS3 的伸缩盒布局 <!doctype html> <html> <head> <meta charset="utf-8"&g ...
- Web App 前端构建(纯净版)
asp.net 母版页: <!DOCTYPE html> <html> <head> <meta charset="utf-8" name ...