正式会员享受无限制浏览网站功能和高速网盘下载,赶快加入本站吧!
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- { ================================================================
- 功能: 打开一个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;
复制代码
|