- 浏览: 453786 次
- 性别:
- 来自: 广州
最新评论
-
lhgyy00:
很好,回去好好研究下,3Q
博客资源与博客工具大全 -
ljl.java:
♦
你会遇到几段恋情?很准的哦~ -
ljl.java:
♦
你会遇到几段恋情?很准的哦~ -
jzzwy:
你这个red5是什么版本 Iterator<IConne ...
red5获取在线用户列表 -
81365341:
看着标题“red5配置详解”点进来的,结果没看到一句和配置有关 ...
red5配置详解
Option Explicit
Private XML_Dom As FreeThreadedDOMDocument40
'--------------------------------------------------------------------------------
' 工程: Prj_Rpt
' 程序: CreateNode
' 描述: 建立一个XML节点,返回建立好的节点对象
' 设计: Winahriman
' 时间: 1-26-2008-13:1:40
'
' 参数: NodeName (String) 需要建立的节点的名字
' Name() (Variant) 可变参数,参数定义(如果传入只传入一个参数,表示该节点只有值没有属性值)
' 如果传入的双数参数表示该节点只有属性及属性值,没有节点值,如果传入的是大于1的单数参数
' 则表示即有属性及属性值也同时有节点值,属性及属性值的参数表示是,每2个参数的第一个参数为属性名
' 第二个参数为属性值
'--------------------------------------------------------------------------------
Public Function CreateNode(ByVal NodeName As String, ParamArray Name() As Variant) As IXMLDOMNode
Dim Int_I As Integer
Dim XML_NewNode As IXMLDOMNode
Set XML_Dom = New FreeThreadedDOMDocument40
Set XML_NewNode = XML_Dom.CreateNode(1, NodeName, "") '建立一个节点
If UBound(Name) = -1 Then '没有可变参数
Else
Dim Xml_AttNode As IXMLDOMNode '节点属性设置
If UBound(Name) Mod 2 <> 0 Then '如果可变参数数目和2取模不等于0,表示只有属性和属性值,没有节点值
For Int_I = LBound(Name) To UBound(Name) Step 2 '循环可变参数数组
Set Xml_AttNode = XML_Dom.CreateNode(2, Name(Int_I), "") '加入一个属性名
Xml_AttNode.Text = Name(Int_I + 1) '加入以个属性值
XML_NewNode.Attributes.setNamedItem Xml_AttNode '将节点属性加入对应节点
Next
Else
If UBound(Name) <> 0 Then
For Int_I = LBound(Name) To UBound(Name) - 1 Step 2 '循环可变参数数组
Set Xml_AttNode = XML_Dom.CreateNode(2, Name(Int_I), "") '加入一个属性名
Xml_AttNode.Text = Name(Int_I + 1) '加入以个属性值
XML_NewNode.Attributes.setNamedItem Xml_AttNode '将节点属性加入对应节点
Next
End If
Dim XML_CDATA As IXMLDOMCDATASection
Set XML_CDATA = XML_Dom.createCDATASection(Name(UBound(Name))) '建立CDATA值
XML_NewNode.appendChild XML_CDATA
End If
End If
Set XML_Dom = Nothing
Set CreateNode = XML_NewNode
End Function
'--------------------------------------------------------------------------------
' 工程: Prj_Rpt
' 程序: LoadXmlNode
' 描述: 加载一个XML文档,返回文档主节点(因为在XML文档中只允许有一个主节点,同时还包括以个文件头)
' 设计: Winahriman
' 时间: 1-28-2008-09:00:55
'
' 参数: Xml_File (String) 'XML文档路径
'--------------------------------------------------------------------------------
Public Function LoadXmlNode(ByVal Xml_File As String) As IXMLDOMNode
Dim Xml_FaterNode As IXMLDOMNode
Set XML_Dom = New FreeThreadedDOMDocument40
If XML_Dom.Load(Xml_File) = False Then Exit Function
Set LoadXmlNode = XML_Dom.childNodes(1)
Set XML_Dom = Nothing
End Function
'--------------------------------------------------------------------------------
' 工程: Prj_Rpt
' 程序: DeleteNode
' 描述: 移除一个主节点,同时返回移除后的节点对象
' 设计: Winahriman
' 时间: 1-28-2008-09:07:14
'
' 参数: Xml_FatherNode (IXMLDOMNode) 需要移除节点的父域节点对象
' DeleteNodeName (String) 需要移除的节点名
'--------------------------------------------------------------------------------
Public Function DeleteNode(ByVal Xml_FatherNode As IXMLDOMNode, ByVal DeleteNodeName As String) As IXMLDOMNode
Dim Xml_FindNode As IXMLDOMNode
Set Xml_FindNode = Xml_FatherNode.selectSingleNode(DeleteNodeName)
Xml_FatherNode.removeChild Xml_FindNode
Set DeleteNode = Xml_FatherNode
End Function
'--------------------------------------------------------------------------------
' 工程: Prj_Rpt
' 程序: ScreenSencetionValue
' 描述: 查询一个节点或节点值,其中第三个参数为可选参数,返回真假
' 设计: Winahriman
' 时间: 1-26-2008-15:08:57
'
' 参数: Xml_Node (IXMLDOMNode) 传入父域节点对象
' ScreenQualification (String) 需要查询的子节点的字符串(如果该节点具有属性值,并且要按其属性值进行查询那么输入格式为/子节点名[@属性名='属性值'])
' 这写个例子:比如一个XML节点为:<test><key name="Delete">xxxx</key></test>我们需要查找节点<key name="Delete">xxxx</key>
' 那么我们传入该函数的xml_node是节点<test>,我们的查询子节点字符串的写法就是"/key[@name='Delete']"这样就会找到该节点
' Value (String = "") 可选参数,如果传入该参数则将会返回查询到的节点的值,如果不传入该参数,则该函数仅作为节点是否存在的查询
'--------------------------------------------------------------------------------
Public Function ScreenSencetionValue(ByVal Xml_Node As IXMLDOMNode, ByVal ScreenQualification As String, Optional ByRef Value As String = "") As Boolean
Dim Xml_FindNode As IXMLDOMNode
Value = ""
Set Xml_FindNode = Xml_Node.selectSingleNode(ScreenQualification)
If Xml_FindNode Is Nothing Then
Exit Function
End If
Value = Xml_FindNode.Text
ScreenSencetionValue = True
End Function
'--------------------------------------------------------------------------------
' 工程: Prj_Rpt
' 程序: SencetionLens
' 描述: 查询一个节点的长度(也就是需要查询的节点的子节点个数)
' 设计: Winahriman
' 时间: 1-27-2008-09:17:21
'
' 参数: Xml_Node (IXMLDOMNode) 需要查询的节点对象
' ScreenQualification (String) 查询的字符串使用方式和查询节点相同
'--------------------------------------------------------------------------------
Public Function SencetionLens(ByVal Xml_Node As IXMLDOMNode, ByVal ScreenQualification As String) As Long
Dim Xml_FindNode As IXMLDOMNode
Set Xml_FindNode = Xml_Node.selectSingleNode(ScreenQualification)
If Xml_FindNode Is Nothing Then
Exit Function
End If
SencetionLens = Xml_FindNode.childNodes.length
End Function
'--------------------------------------------------------------------------------
' 工程: Prj_Rpt
' 程序: EditSencetionValue
' 描述: 修改节点值 返回真假
' 设计: Winahriman
' 时间: 1-27-2008-11:18:43
'
' 参数: Xml_Node (IXMLDOMNode) 需要修改节点值的父域节点,引用传递
' ScreenQualification (String) 查询字符串,使用方式和节点查询相同
' Value (String) 修改的字符串
'--------------------------------------------------------------------------------
Public Function EditSencetionValue(ByRef Xml_Node As IXMLDOMNode, ByVal ScreenQualification As String, ByVal Value As String) As Boolean
Dim Xml_FindNode As IXMLDOMNode
Set Xml_FindNode = Xml_Node.selectSingleNode(ScreenQualification)
If Xml_FindNode Is Nothing Then
Exit Function
End If
Xml_FindNode.Text = ""
Dim XML_CDATA As IXMLDOMCDATASection
Set XML_Dom = New FreeThreadedDOMDocument40
Set XML_CDATA = XML_Dom.createCDATASection(Value)
Xml_FindNode.appendChild XML_CDATA
Set XML_Dom = Nothing
EditSencetionValue = True
End Function
'--------------------------------------------------------------------------------
' 工程: Prj_Rpt
' 程序: CreateXMLFile
' 描述: 创建一个XML文档
' 设计: Winahriman
' 时间: 1-28-2008-09:20:22
'
' 参数: FileName (String) 文件路径名
' Xml_Node (IXMLDOMNode) XML主节点
'--------------------------------------------------------------------------------
Public Function CreateXMLFile(ByVal FileName As String, ByVal Xml_Node As IXMLDOMNode) As Boolean
Dim Pi As IXMLDOMProcessingInstruction '申明一个版本头
Set XML_Dom = New FreeThreadedDOMDocument40
Set Pi = XML_Dom.createProcessingInstruction("xml", "version=""1.0"" encoding=""gb2312""") '建立一个版本头对象
XML_Dom.insertBefore Pi, XML_Dom.childNodes.Item(0) '插入版本头
XML_Dom.appendChild Xml_Node '建立一个主节点 '保存新的XML文件
XML_Dom.Save FileName
Set XML_Dom = Nothing
End Function
Private XML_Dom As FreeThreadedDOMDocument40
'--------------------------------------------------------------------------------
' 工程: Prj_Rpt
' 程序: CreateNode
' 描述: 建立一个XML节点,返回建立好的节点对象
' 设计: Winahriman
' 时间: 1-26-2008-13:1:40
'
' 参数: NodeName (String) 需要建立的节点的名字
' Name() (Variant) 可变参数,参数定义(如果传入只传入一个参数,表示该节点只有值没有属性值)
' 如果传入的双数参数表示该节点只有属性及属性值,没有节点值,如果传入的是大于1的单数参数
' 则表示即有属性及属性值也同时有节点值,属性及属性值的参数表示是,每2个参数的第一个参数为属性名
' 第二个参数为属性值
'--------------------------------------------------------------------------------
Public Function CreateNode(ByVal NodeName As String, ParamArray Name() As Variant) As IXMLDOMNode
Dim Int_I As Integer
Dim XML_NewNode As IXMLDOMNode
Set XML_Dom = New FreeThreadedDOMDocument40
Set XML_NewNode = XML_Dom.CreateNode(1, NodeName, "") '建立一个节点
If UBound(Name) = -1 Then '没有可变参数
Else
Dim Xml_AttNode As IXMLDOMNode '节点属性设置
If UBound(Name) Mod 2 <> 0 Then '如果可变参数数目和2取模不等于0,表示只有属性和属性值,没有节点值
For Int_I = LBound(Name) To UBound(Name) Step 2 '循环可变参数数组
Set Xml_AttNode = XML_Dom.CreateNode(2, Name(Int_I), "") '加入一个属性名
Xml_AttNode.Text = Name(Int_I + 1) '加入以个属性值
XML_NewNode.Attributes.setNamedItem Xml_AttNode '将节点属性加入对应节点
Next
Else
If UBound(Name) <> 0 Then
For Int_I = LBound(Name) To UBound(Name) - 1 Step 2 '循环可变参数数组
Set Xml_AttNode = XML_Dom.CreateNode(2, Name(Int_I), "") '加入一个属性名
Xml_AttNode.Text = Name(Int_I + 1) '加入以个属性值
XML_NewNode.Attributes.setNamedItem Xml_AttNode '将节点属性加入对应节点
Next
End If
Dim XML_CDATA As IXMLDOMCDATASection
Set XML_CDATA = XML_Dom.createCDATASection(Name(UBound(Name))) '建立CDATA值
XML_NewNode.appendChild XML_CDATA
End If
End If
Set XML_Dom = Nothing
Set CreateNode = XML_NewNode
End Function
'--------------------------------------------------------------------------------
' 工程: Prj_Rpt
' 程序: LoadXmlNode
' 描述: 加载一个XML文档,返回文档主节点(因为在XML文档中只允许有一个主节点,同时还包括以个文件头)
' 设计: Winahriman
' 时间: 1-28-2008-09:00:55
'
' 参数: Xml_File (String) 'XML文档路径
'--------------------------------------------------------------------------------
Public Function LoadXmlNode(ByVal Xml_File As String) As IXMLDOMNode
Dim Xml_FaterNode As IXMLDOMNode
Set XML_Dom = New FreeThreadedDOMDocument40
If XML_Dom.Load(Xml_File) = False Then Exit Function
Set LoadXmlNode = XML_Dom.childNodes(1)
Set XML_Dom = Nothing
End Function
'--------------------------------------------------------------------------------
' 工程: Prj_Rpt
' 程序: DeleteNode
' 描述: 移除一个主节点,同时返回移除后的节点对象
' 设计: Winahriman
' 时间: 1-28-2008-09:07:14
'
' 参数: Xml_FatherNode (IXMLDOMNode) 需要移除节点的父域节点对象
' DeleteNodeName (String) 需要移除的节点名
'--------------------------------------------------------------------------------
Public Function DeleteNode(ByVal Xml_FatherNode As IXMLDOMNode, ByVal DeleteNodeName As String) As IXMLDOMNode
Dim Xml_FindNode As IXMLDOMNode
Set Xml_FindNode = Xml_FatherNode.selectSingleNode(DeleteNodeName)
Xml_FatherNode.removeChild Xml_FindNode
Set DeleteNode = Xml_FatherNode
End Function
'--------------------------------------------------------------------------------
' 工程: Prj_Rpt
' 程序: ScreenSencetionValue
' 描述: 查询一个节点或节点值,其中第三个参数为可选参数,返回真假
' 设计: Winahriman
' 时间: 1-26-2008-15:08:57
'
' 参数: Xml_Node (IXMLDOMNode) 传入父域节点对象
' ScreenQualification (String) 需要查询的子节点的字符串(如果该节点具有属性值,并且要按其属性值进行查询那么输入格式为/子节点名[@属性名='属性值'])
' 这写个例子:比如一个XML节点为:<test><key name="Delete">xxxx</key></test>我们需要查找节点<key name="Delete">xxxx</key>
' 那么我们传入该函数的xml_node是节点<test>,我们的查询子节点字符串的写法就是"/key[@name='Delete']"这样就会找到该节点
' Value (String = "") 可选参数,如果传入该参数则将会返回查询到的节点的值,如果不传入该参数,则该函数仅作为节点是否存在的查询
'--------------------------------------------------------------------------------
Public Function ScreenSencetionValue(ByVal Xml_Node As IXMLDOMNode, ByVal ScreenQualification As String, Optional ByRef Value As String = "") As Boolean
Dim Xml_FindNode As IXMLDOMNode
Value = ""
Set Xml_FindNode = Xml_Node.selectSingleNode(ScreenQualification)
If Xml_FindNode Is Nothing Then
Exit Function
End If
Value = Xml_FindNode.Text
ScreenSencetionValue = True
End Function
'--------------------------------------------------------------------------------
' 工程: Prj_Rpt
' 程序: SencetionLens
' 描述: 查询一个节点的长度(也就是需要查询的节点的子节点个数)
' 设计: Winahriman
' 时间: 1-27-2008-09:17:21
'
' 参数: Xml_Node (IXMLDOMNode) 需要查询的节点对象
' ScreenQualification (String) 查询的字符串使用方式和查询节点相同
'--------------------------------------------------------------------------------
Public Function SencetionLens(ByVal Xml_Node As IXMLDOMNode, ByVal ScreenQualification As String) As Long
Dim Xml_FindNode As IXMLDOMNode
Set Xml_FindNode = Xml_Node.selectSingleNode(ScreenQualification)
If Xml_FindNode Is Nothing Then
Exit Function
End If
SencetionLens = Xml_FindNode.childNodes.length
End Function
'--------------------------------------------------------------------------------
' 工程: Prj_Rpt
' 程序: EditSencetionValue
' 描述: 修改节点值 返回真假
' 设计: Winahriman
' 时间: 1-27-2008-11:18:43
'
' 参数: Xml_Node (IXMLDOMNode) 需要修改节点值的父域节点,引用传递
' ScreenQualification (String) 查询字符串,使用方式和节点查询相同
' Value (String) 修改的字符串
'--------------------------------------------------------------------------------
Public Function EditSencetionValue(ByRef Xml_Node As IXMLDOMNode, ByVal ScreenQualification As String, ByVal Value As String) As Boolean
Dim Xml_FindNode As IXMLDOMNode
Set Xml_FindNode = Xml_Node.selectSingleNode(ScreenQualification)
If Xml_FindNode Is Nothing Then
Exit Function
End If
Xml_FindNode.Text = ""
Dim XML_CDATA As IXMLDOMCDATASection
Set XML_Dom = New FreeThreadedDOMDocument40
Set XML_CDATA = XML_Dom.createCDATASection(Value)
Xml_FindNode.appendChild XML_CDATA
Set XML_Dom = Nothing
EditSencetionValue = True
End Function
'--------------------------------------------------------------------------------
' 工程: Prj_Rpt
' 程序: CreateXMLFile
' 描述: 创建一个XML文档
' 设计: Winahriman
' 时间: 1-28-2008-09:20:22
'
' 参数: FileName (String) 文件路径名
' Xml_Node (IXMLDOMNode) XML主节点
'--------------------------------------------------------------------------------
Public Function CreateXMLFile(ByVal FileName As String, ByVal Xml_Node As IXMLDOMNode) As Boolean
Dim Pi As IXMLDOMProcessingInstruction '申明一个版本头
Set XML_Dom = New FreeThreadedDOMDocument40
Set Pi = XML_Dom.createProcessingInstruction("xml", "version=""1.0"" encoding=""gb2312""") '建立一个版本头对象
XML_Dom.insertBefore Pi, XML_Dom.childNodes.Item(0) '插入版本头
XML_Dom.appendChild Xml_Node '建立一个主节点 '保存新的XML文件
XML_Dom.Save FileName
Set XML_Dom = Nothing
End Function
发表评论
-
TEA算法的VB实现代码的使用说明
2008-12-30 11:28 1920自从公开了TEA算法的VB代码之后一直有人追问我如何调用这两个 ... -
TEA算法的VB实现代码
2008-12-30 11:02 1631前些日子不少人都要挂QQ,有客户需求就自然有人去研究,所以不少 ... -
QQ通讯协议
2008-12-30 10:56 4173协议说明: 协议由报文 ... -
hoxede的QQ填充算法和TEA 加解密的python实现
2008-12-30 10:31 2857""" The MIT Lic ... -
如何从 Visual Basic 中调用 GetNetworkParams / GetAdapter
2008-12-30 09:52 16761. 启动一个新的 Visual Basic 标准 EX ... -
VB调用GetAdaptersInfo 的正确方法
2008-12-30 09:51 2696网上的教程没有一个能在多网卡或多IP下用的,总是在 Cop ... -
VB做的EXE文件设参数
2008-12-29 12:26 1162这个其实很简单 在 Private Sub Form_L ... -
VB常用字符串函数
2008-12-29 12:26 14681. ASC(X),Chr(X):转换字 ... -
VB常用函数
2008-12-29 12:25 22741. Time 返回系统时钟的当前时间。 Date 返回 ... -
VB使用*.res资源文件
2008-12-29 12:23 1635你一定也常常因苦于无法组织自己程序中大量的picture,而头 ... -
在不同的模式下实现定时关闭计算机
2008-12-29 12:20 844Option Explicit Const SM_CLEANB ... -
强制关闭指定QQ号
2008-12-29 12:19 1298'添加 Text1 Command1 ... -
VB读取武林外传内存地址
2008-12-29 12:18 2094一 模块代码 复制内容到剪贴板 代码: Option Expl ... -
怎么编程把用户名,密码提交到网页上的登录页?
2008-12-29 12:06 1426首先在程序中加入Webbrowser控件并加入引用 Micro ... -
在XP/2K 任务管理器的进程列表中隐藏当前进程
2008-12-29 12:05 1225新建一个模块,把以下代码复制进去,然后在load中调用即可实现 ... -
用VB制作IE工具条自定义按钮
2008-12-29 12:04 1182Private Sub UserControl_Resize( ... -
Webbrowser(Internet 控件)属性方法事件一览表
2008-12-29 11:56 4769想找个Webbrowser控件的详细使用手册,网上找了好久,都 ... -
使用vbs下载文件
2008-12-29 11:52 1520使用vbs下载文件 iLocal=LCase(Wscript. ... -
如何用VB制作半透明窗体?
2008-12-29 11:51 1666函数SetLayeredWindowAttributes ... -
vb api 控制 任务栏 桌面 托盘。。
2008-12-29 11:45 2080VB无疑是最先进的编程 ...
相关推荐
包含了常用的xml操作.并有详细说明.不需要在写任何代码.包含了xml的常用操作.代码中使用了xml4.0的库.需要自己手动添加.
易语言 XML 解析模块 使用对象操作 处理速度快
COM对象操作XML模块.rar
易语言COM对象操作XML模块源码,COM对象操作XML模块,test,取根节点名,取父节点名,导入,导入XML,取子节点数,取节点名,枚举子节点名,枚举属性名值,删除节点,删除属性,导出到文件,取XML源码,取XML文本,取XML路径,插入...
资源介绍:。易语言COM对象操作XML模块源码例程程序结合IXMLDOMDocument2对象实现XML操作。点评:易语言COM对象操作XML模块源码仅供参考。资源作者:。易语言源码网。资源界面:。资源下载:。
易语言源码易语言XML对象操作源码.rar
1、XMLDOMDocument类: XML对象文档 ->操作创建或读写(元素、节点、属性、注释)等 2、IXMLDOMNode类:每个元素或节点基本都会有的方法;作为元素和节点的基类调用 3、IXMLDOMAttribute类:就是元素或节点的属性类 4...
本论坛模块主要是基于XML技术的在线论坛,其主要关键技术就是如何操作XML数据库中的数据
大家可以借鉴一下,是关于Python xml.dom模块的操作示例
Python 利用xml模块 进行简单的xml文件写入
将多个xml格式文件,高效合并为一个标准的xml格式文件,输出为一个xml格式文件。注:在文件层面的操作,不需要逐个解析节点。
xml即可扩展标记语言,它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。...但他们被设计的目的是...在使用ElementTree模块时,需要import xml.etree.ElementTree的操作。ElementTree
加密配置文件操作模块(1.0).zip 进程相关模块(1型)(1.0).zip 进程相关模块(2型)(1.0).zip 进程相关模块(3型)(1.0).zip 进程相关模块(1.0).zip 进度条高级设置(1.0).zip 进制转换(改)(1.0).zip 加入好友(1.0)....
基于关系模式的向量模型和XML模式树模型,提出了一种关系模式到模块化的XML Schema的模型映射方法BTT,其映射规则保持了关系模式的结构、属性以及约束信息的完整保留,自底向上的映射顺序在没有牺牲转换效率的情况下...
不是特别高深的技术 希望能给你带来帮助 同时谢谢您的关注
Steven 著,毛尧飞,崔伟 译 出版社:清华大学出版社 出版时间:2003年11月 第1章 在C#中使用XML的原因 <br>1.1 使用XML的原因 1.1.1 开放性 1.1.2 简单性 1.1.3 自我描述性 1.1.4 互操作性 ...
加密配置文件操作模块(1.0).zip 进程相关模块(1型)(1.0).zip 进程相关模块(2型)(1.0).zip 进程相关模块(3型)(1.0).zip 进程相关模块(1.0).zip 进度条高级设置(1.0).zip 进制转换(改)(1.0).zip 加入好友...