How to use vbs to save information to a XML file
This article mainly introduces how to use vbs to save information to a XML file, has a certain reference value, interested friends can refer to, I hope you can learn a lot after reading this article, the following let Xiaobian take you to understand.
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.
The copy code is as follows:
'*
'* * Script: CreateXML.vbs
'* * Version: 1.0
'* * Created: 01Universe 12 Universe 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: 1Universe 12 12:14PM 2009
'* * 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:16PM 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 roome 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, and 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:
'* * 1229 11:02PM 2008 11:02PM: Initi Unie versie
'* *
'*
Function IsJPG (strFilename)
Set objRegExp = New RegExp
ObjRegExp.Pattern = "\ w.jpg"
ObjRegExp.IgnoreCase = True
IsJPG = objRegExp.Test (strFileName)
End Function
Thank you for reading this article carefully. I hope the article "how to use vbs to save information to a XML file" shared by the editor will be helpful to everyone. At the same time, I also hope you will support us and pay attention to the industry information channel. More related knowledge is waiting for you to learn!