首页 > 编程 > VBScript > 正文

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

2020-06-26 18:29:01
字体:
来源:转载
供稿:网友
这个脚本演示了如何保存与使用的MSXML到一个XML文件的信息。示例XML文件用于在网站上的相册
 
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 
 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表