extract_ENVP sub extract_ENVP ' ########## open file set oFileBrowser = XSIUIToolkit.FileBrowser oFileBrowser.DialogTitle = "Select an ONLV*.xml file" ' (default folder) oFileBrowser.InitialDirectory = "c:\" oFileBrowser.Filter = "ONLV (*.xml)|*.xml||" oFileBrowser.ShowOpen If oFileBrowser.FilePathName <> "" Then logmessage "User selected " & oFileBrowser.FilePathName path = oFileBrowser.FilePathName last_slash = instrrev(path, "\") folder = left(path, last_slash) Else logmessage "User pressed cancel" exit sub End If ' ########### read and extract data Set xmlDoc = CreateObject( "Microsoft.XMLDOM" ) xmlDoc.Async = "False" xmlDoc.Load( path ) ENVParticleClass = "Oni/ENVP/Particles/ENVPParticle/Class" ENVParticleTag = "Oni/ENVP/Particles/ENVPParticle/Tag" ENVParticlePosition = "Oni/ENVP/Particles/ENVPParticle/Transform" Set colClass = xmlDoc.selectNodes( ENVParticleClass ) Set colTag = xmlDoc.selectNodes( ENVParticleTag ) Set colPosition = xmlDoc.selectNodes( ENVParticlePosition ) ' ########### write file Set oFS = CreateObject("Scripting.FileSystemObject") Set objXMLFile = oFS.OpenTextFile(folder & "CJBO_particle.txt", 2, True, 0) logmessage colClass.length logmessage "--------------" for i=0 to colClass.length - 1 logmessage colClass.item(i).text logmessage colTag.item(i).text transformtag = colPosition.item(i).text ' reduce string to last 3 values transformtag = right(transformtag, len(transformtag) - instr(1, transformtag, " ")) transformtag = right(transformtag, len(transformtag) - instr(1, transformtag, " ")) transformtag = right(transformtag, len(transformtag) - instr(1, transformtag, " ")) transformtag = right(transformtag, len(transformtag) - instr(1, transformtag, " ")) transformtag = right(transformtag, len(transformtag) - instr(1, transformtag, " ")) transformtag = right(transformtag, len(transformtag) - instr(1, transformtag, " ")) transformtag = right(transformtag, len(transformtag) - instr(1, transformtag, " ")) transformtag = right(transformtag, len(transformtag) - instr(1, transformtag, " ")) transformtag = right(transformtag, len(transformtag) - instr(1, transformtag, " ")) logmessage transformtag objXMLFile.WriteLine " " objXMLFile.WriteLine "
" objXMLFile.WriteLine " " objXMLFile.WriteLine " " & transformtag & "" objXMLFile.WriteLine " 0 0 0" objXMLFile.WriteLine "
" objXMLFile.WriteLine " " objXMLFile.WriteLine " " & colClass.item(i).text & "" objXMLFile.WriteLine " " & colTag.item(i).text & "" objXMLFile.WriteLine " 13" ' unimportnat objXMLFile.WriteLine " 1 1" ' unimportant objXMLFile.WriteLine " " objXMLFile.WriteLine "
" next objXMLFile.WriteLine " " objXMLFile.Close 'logmessage done Set objShell = CreateObject("Wscript.Shell") strPath = "explorer.exe /select," & folder & "CJBO_particle.txt" objShell.Run strPath end sub