将信息保存到一个XML文件的vbs代码

所属分类: 脚本专栏 / vbs 阅读数: 457
收藏 0 赞 0 分享
This script demonstrates how to save information to a xml file with the use of MSXML. The example xml file is used for the photo album on the site.
复制代码 代码如下:

'*****************************************************************
'** Script: CreateXML.vbs
'** Version: 1.0
'** Created: 01/12/2009 9:51PM
'** Author: Adriaan Westra
'** E-mail:
'** Purpose / Comments:
'** Create xml file for photo album
'**
'**
'** Changelog :
'** 12-01-2009 9:51 : Initial version
'**
'*****************************************************************

On Error Resume next
Dim Version : Version = "1.0" ' Script version
Dim Author : Author = "A. Westra"
Dim objXML 'XML Document object
Dim root 'Root element of the xml document
Dim newNode ' XML Node object
Dim cNode ' XML (child) Node object
Dim cNodeText ' XML Text Node object


'*****************************************************************
'** Make sure the script is started with cscript
If InStr(wscript.FullName, "wscript.exe") > 0 Then
MsgBox "Please run this script with cscript.exe." & Chr(13) & _
"For example : cscript " & WScript.ScriptName & " /?", _
vbExclamation, WScript.ScriptName
WScript.Quit(1)
End If

'*****************************************************************
'** Get commandline parameters
Set Args = Wscript.Arguments

If Args.Count = 0 Then
strImageDir = InputBox("Please give the directory name " & _
"to process : ",wscript.scriptname, strPath)
Else
If InStr(Args(0),"/?") > 0 Or InStr(UCase(Args(0)),"/H") > 0 _
Or InStr(UCase(Args(0)),"/HELP") > 0 Then
DisplayHelp
Wscript.quit(0)
Else
strImageDir = Args(0)
End if
End if

Set objXML = CreateObject("Msxml2.DOMDocument.6.0")
objXML.setProperty "SelectionLanguage", "XPath"


'*****************************************************************
'** Determine if the file exists
strXMLFile = strImageDir & "\album.xml"
Set objFSO = CreateObject("Scripting.FileSystemObject")
If objFSO.FileExists(strXMLFile) Then
'*****************************************************************
'** Read the XML File
objXML.load(strXMLFile)
Else
'*****************************************************************
'** Create the XML File
objXML.loadXML("")
End If
'*****************************************************************
'** Process directory
Set objImgDir = objFSO.GetFolder(strImageDir)
For each objFile in objImgDir.Files
If IsJPG(objFile.Name) Then
arrTemp = split(objFile.Name, ".")
strNode = arrTemp(0)

'*****************************************************************
'** Determine if the node exists
If Not XmlNodeExists(strChildNode, objXML) Then
'*****************************************************************
'** Get the root element of the xml document
Set root = objXML.documentElement
'*****************************************************************
'** Create the new node
Set newNode = objXML.createNode(1, strNode, "")
root.appendChild newNode
Set cNode = objXML.createNode(1, "alt", "")
Set cNodeText = objXML.createNode(3, "", "")
cNodeText.Text = strNode
cNode.appendChild cNodeText
newNode.appendChild cNode
Set cNode = objXML.createNode(1, "Title", "")
Set cNodeText = objXML.createNode(3, "", "")
cNodeText.Text = strNode
cNode.appendChild cNodeText
newNode.appendChild cNode
End If
End If
Next
'*****************************************************************
'** Save the xml file
objXML.save(strXMLFile)

'*****************************************************************
'** End the script
wscript.quit

'*****************************************************************
'** Function: XmlNodeExists
'** Version: 1.0
'** Created: 1/12/2009 12:14PM
'** Author: Adriaan Westra
'** E-mail:
'**
'** Purpose / Comments:
'** Determines if a node exists in XML
'**
'** Arguments :
'** strNode :Name of the XML node
'** oXML :XMl DOM Object

'**
'** Changelog :
'** 1/12/2009 12:16PM : Initial version
'**
'*****************************************************************
Function XmlNodeExists( strNode, oXML )
On Error Resume next
Set oNode = oXML.selectSingleNode(strNode)
strNodetype = oNode.nodetype
If err.number = 0 Then
XmlNodeExists = True
Else
XmlNodeExists = False
End if
End Function
'*****************************************************************
'** Sub: DisplayHelp
'** Version: 1.0
'** Created: 24-03-2003 8:22
'** Author: Adriaan Westra
'** E-mail:
'**
'** Purpose / Comments:
'** Display help for script
'**
'** Arguments :
'**
'** Wijzigingslog :
'** 24-03-2003 8:22 : Initi雔e versie
'**
'*****************************************************************
Sub DisplayHelp()
strComment = string(2,"*")
strCmntLine = String(79, "*")
wscript.echo strCmntline
wscript.echo strComment
wscript.echo strComment & " Online help for " & _
Wscript.scriptname & " version : " & Version
wscript.echo strComment
wscript.echo strComment & " Usage : cscript " & _
Wscript.scriptname & " directoryname"
wscript.echo strComment
wscript.echo strComment & " Purpose : Create XML file " & _
"for all images in given directory."
wscript.echo strComment
wscript.echo strComment & " Author : " & Author
wscript.echo strComment & " E-mail : " & Email
wscript.echo strComment
wscript.echo strCmntline
End Sub
'*****************************************************************
'** Function: IsJPG
'** Version: 1.0
'** Created: 12/29/2008 11:01PM
'** Author: Adriaan Westra
'** E-mail:
'**
'** Purpose / Comments:
'** Determine if file is jpg image
'**
'** Arguments :
'** strFilename : name of the file to check
'**
'** Wijzigingslog :
'** 12/29/2008 11:02PM : Initi雔e versie
'**
'*****************************************************************
Function IsJPG(strFilename)
Set objRegExp = New RegExp
objRegExp.Pattern = "\w.jpg"
objRegExp.IgnoreCase = True
IsJPG = objRegExp.Test(strFileName)
End Function
更多精彩内容其他人还在看

VBS教程:对象-Drives 集合

VBS教程:对象-Drives 集合
收藏 0 赞 0 分享

VBS教程:对象-Drive 对象

VBS教程:对象-Drive 对象
收藏 0 赞 0 分享

VBS教程:对象-Dictionary

dictionnary,是一个集合对象。一般情况霞,我把这个特殊的集合想象为数组,可以使用其中内建的函数完成存储和操纵数据等基本任务,无须担心数据是在哪些行列
收藏 0 赞 0 分享

VBS教程:方法-WriteLine 方法

这篇文章为大家介绍了vbs的writeline方法,就是向 TextStream 文件写入指定字符串和新行字符
收藏 0 赞 0 分享

VBS教程:方法-WriteBlankLines 方法

VBS教程:方法-WriteBlankLines 方法
收藏 0 赞 0 分享

SendKeys参考文档

SendKeys参考文档
收藏 0 赞 0 分享

VBS中SendKeys的基本应用

VBS中SendKeys的基本应用
收藏 0 赞 0 分享

VBScript教程 第十四课在VBScript中使用对象

VBScript教程 第十四课在VBScript中使用对象
收藏 0 赞 0 分享

VBScript教程 第十三课 VBScript与窗体

VBScript教程 第十三课 VBScript与窗体
收藏 0 赞 0 分享

VBScript教程 第十二课VBScript页面的简单样例

VBScript教程 第十二课VBScript页面的简单样例
收藏 0 赞 0 分享
查看更多