fearless1 Posted July 17, 2015 Share Posted July 17, 2015 (edited) Hi Guys, I'm trying to pull some data from a range of XML files but am getting stuck. It is only returning blank results. My thought process was to:a: Get a list of all the XML file names into an array;b: Scroll through the array one by one and pull the relevant 4 values from the specified node.This is my code:expandcollapse popup#include <Array.au3> #include <File.au3> #include <MsgBoxConstants.au3> $Workingdir = FileSelectFolder("Select the working folder", "C:\Files\") $i = 1 Global $aFileList = _FileListToArray($Workingdir , "*.xml") If @error = 1 Then MsgBox($MB_SYSTEMMODAL, "", "Path was invalid.") Exit EndIf If @error = 4 Then MsgBox($MB_SYSTEMMODAL, "", "No file(s) were found.") Exit EndIf ; Display the results returned by _FileListToArray. $oXML = ObjCreate("Microsoft.XMLDOM") $oXML.load($aFile) $oNodes = $oXML.selectNodes("//photo") Do $oNode = $oNodes.nextNode() $t = $oNode.text ;If $t = '' Then ; Msgbox(0,'','Search returned 0 results. Contact support.') ; Exit ;EndIf ConsoleWrite($aFileList[$i] & ': Value: '& $t & @CRLF) FileWriteLine("event.txt",$t) $i = $i + 1 Until $i = $aFileList[0]I can get the XML function to work when it is a single file to read but I can have hundreds of files to go through in one hit. Any help you can offer would be great. ThanksMike. Edited July 17, 2015 by fearless1 Link to comment Share on other sites More sharing options...
kaisies Posted July 17, 2015 Share Posted July 17, 2015 File list to array only returns the file name not the full file path by default. Link to comment Share on other sites More sharing options...
guinness Posted July 17, 2015 Share Posted July 17, 2015 But there is a parameter you can set to return the fullpath. Help file tells you. UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
RaiNote Posted July 17, 2015 Share Posted July 17, 2015 You want to Show XML Files within an Array right? Then Look in Help File at _WinApi_IsPathContentType#include <Array.au3> #include <File.au3> #include <WinAPIShPath.au3> Local $sFileList = _FileListToArray(@SystemDir, '*.*', 1) Local $aSortList[UBound($sFileList) - 1] Local $iCount = 0 For $i = 1 To $sFileList[0] If _WinAPI_PathIsContentType($sFileList[$i], 'text/xml') Then $aSortList[$iCount] = $sFileList[$i] $iCount += 1 EndIf Next If $iCount Then ReDim $aSortList[$iCount] Else Exit EndIf _ArrayDisplay($aSortList, '_WinAPI_PathIsContentType')This is the Example of it and it Shows the XML files ^-^ C++/AutoIt/OpenGL Easy Coder I will be Kind to you and try to help you till what you want isn't against the Forum Rules~ Link to comment Share on other sites More sharing options...
fearless1 Posted July 17, 2015 Author Share Posted July 17, 2015 I can scroll through and get the list of XML files. What I am trying to pull iOS the 3 values within the node <Photo> of each XML and write those values out to a file. Link to comment Share on other sites More sharing options...
RaiNote Posted July 17, 2015 Share Posted July 17, 2015 (edited) If you want to read XML °-° then look for the XML UDFhttps://www.autoitscript.com/forum/topic/19848-xml-dom-wrapper-com/?page=38#comment-1245937You can Read with this UDF XML Files and if u want to write the readed text anywhere °-° Edited July 17, 2015 by RaiNote C++/AutoIt/OpenGL Easy Coder I will be Kind to you and try to help you till what you want isn't against the Forum Rules~ Link to comment Share on other sites More sharing options...
fearless1 Posted July 20, 2015 Author Share Posted July 20, 2015 Thanks guys. I'm not that good at this stuff but will give it a shot. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now