WinBatch Tech Support Home

Database Search

If you can't find the information using the categories below, post a question over in our WinBatch Tech Support Forum.

TechHome

XML
plus
plus

Can't find the information you are looking for here? Then leave a message over on our WinBatch Tech Support Forum.

XML selectSingleNode Sample

 Keywords: MSXML2.DOMDocument.6.0 MSXML2 selectSingleNode Manifest assemblyIdentity Dependency Node getAttribute Load XPath

;<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
;<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
;
;<assemblyIdentity name="happy.exe" version="2000.80.382.0" type="win32" processorArchitecture="x86"/>
;
;<description>Built with: Side-by-Side Manifest Maker (2.7.0.428)</description>
;<description>Copyright: 2004-2005 © Maze Computer Communications, Inc.  All rights reserved.</description>
;<description>License: 5 users license</description>
;
;<dependency>
; <dependentAssembly>
;  <assemblyIdentity name="Common.SharedAssembly" version="3.0.0.0" type="win32" publicKeyToken="c3edcabe9fc73c4b" processorArchitecture="x86"/>
; </dependentAssembly>
;</dependency>
;
;<dependency>
; <dependentAssembly>
;  <assemblyIdentity name="Crystal Reports.Shared Assembly" version="6.1.0.0" type="win32" publicKeyToken="93dd5654945d6517" processorArchitecture="x86"/>
; </dependentAssembly>
;</dependency>
;
;<file name="COMCTL32.OCX">
; <comClass
;     clsid="{0713E8A2-850A-101B-AFC0-4210102A8DA7}"
;     description="Microsoft TreeView Control, version 5.0 (SP2)"
;     tlbid="{6B7E6392-850A-101B-AFC0-4210102A8DA7}"
;     threadingModel="apartment"
;     miscStatusContent="recomposeonresize,cantlinkinside,insideout,activatewhenvisible,setclientsitefirst"
;     progid="COMCTL.TreeCtrl.1">
;    <progid>COMCTL.TreeCtrl</progid>
; </comClass>
;</file>
;</assembly>

xmlfile = "c:\temp\test.xml"

xmlDoc = ObjectCreate("MSXML2.DOMDocument.6.0")
xmlDoc.async = @false;
xmlDoc.load( xmlfile )
XmlDoc.SetProperty('SelectionLanguage','XPath')

assembly_namespace_V1='urn:schemas-microsoft-com:asm.v1';
assembly_namespace_V2='urn:schemas-microsoft-com:asm.v2';
assembly_namespace_V3='urn:schemas-microsoft-com:asm.v3';
ns = 'xmlns:a="':assembly_namespace_V1:'" xmlns:b="':assembly_namespace_V2:'" xmlns:c="':assembly_namespace_V3:'"'
XmlDoc.setProperty('SelectionNamespaces', ns);

If xmlDoc.parseError.errorCode != 0
   Pause('parseError', xmlDoc.parseError.reason);  ERROR: The following tags were not closed: assembly, file.
Else
   Pause('XML Contents', xmlDoc.documentElement.xml)


   objNode = XmlDoc.selectSingleNode('/a:assembly/@manifestVersion');
   Pause("ManifestVersion", objNode.text)

   objNode = XmlDoc.selectSingleNode('/a:assembly/a:assemblyIdentity')
   If objNode != 0
      Pause("assemblyIdentity type", objNode.getAttribute('type'))
      Pause("assemblyIdentity name", objNode.getAttribute('name'))
      Pause("assemblyIdentity language", objNode.getAttribute('language'))
      Pause("assemblyIdentity version", objNode.getAttribute('version'))
      Pause("assemblyIdentity processorArchitecture", objNode.getAttribute('processorArchitecture'))
      Pause("assemblyIdentity publicKeyToken", objNode.getAttribute('publicKeyToken'))
   EndIf

   objNode = XmlDoc.selectSingleNode('/a:assembly/a:dependency/a:dependentAssembly/a:assemblyIdentity')
   If objNode != 0
      Pause("dependentAssembly/assemblyIdentity type", objNode.getAttribute('type'))
      Pause("dependentAssembly/assemblyIdentity name", objNode.getAttribute('name'))
      Pause("dependentAssembly/assemblyIdentity language", objNode.getAttribute('language'))
      Pause("dependentAssembly/assemblyIdentity version", objNode.getAttribute('version'))
      Pause("dependentAssembly/assemblyIdentity processorArchitecture", objNode.getAttribute('processorArchitecture'));
      Pause("dependentAssembly/assemblyIdentity publicKeyToken", objNode.getAttribute('publicKeyToken'))
   EndIf

   objNode = XmlDoc.selectSingleNode('/a:assembly/b:trustInfo/b:security/b:requestedPrivileges/b:requestedExecutionLevel')
   If objNode == 0 Then objNode = XmlDoc.selectSingleNode('/a:assembly/c:trustInfo/c:security/c:requestedPrivileges/c:requestedExecutionLevel')
   If objNode != 0
      Pause("requestedExecutionLevel level", objNode.getAttribute('level'))
      Pause("requestedExecutionLevel uiAccess", objNode.getAttribute('uiAccess'))
   EndIf

     objNode = XmlDoc.selectSingleNode('/a:assembly/a:file/a:comClass')
   If objNode != 0
      Pause("file/comClass clsid", objNode.getAttribute('clsid'))
      Pause("file/comClass description", objNode.getAttribute('description'))
      Pause("file/comClass tlbid", objNode.getAttribute('tlbid'))
      Pause("file/comClass threadingModel", objNode.getAttribute('threadingModel'))
      Pause("file/comClass miscStatusContent", objNode.getAttribute('miscStatusContent'))
      Pause("file/comClass progid", objNode.getAttribute('progid'))
   EndIf

EndIf

objNode = 0
XmlDoc = 0
Exit


Article ID:   W18496
Filename:   XML selectSingleNode Sample.txt
File Created: 2012:12:24:09:43:02
Last Updated: 2012:12:24:09:43:02