AutoIT Code Sample - Parsing an XML document. Here is the sample XML document to parse:
;===============================================================================
; Description: XML Parsing in AutoIT using Msxml2.DOMDocument
; Author(s): Videre Research, LLC - http://videreresearch.com
;===============================================================================
$feed = "http://url.to.xml.file/"
$oOXml = _XmlFileLoad ($feed)
$oXMLRoot = $oOXml.documentElement
$content = ""
$oXmlroot = $oOXml.documentElement
$objElement = $oXmlroot.getElementsByTagName("language")
If IsObj($objElement) Then ConsoleWrite($objElement(0).childNodes(0).nodeValue &@crlf)
;For $oXmlNode In $objElement
;ConsoleWrite($oXmlNode.nodename & " - " & $oXmlNode.text &@crlf)
;Next
$objElement = $oXmlroot.getElementsByTagName("text")
If IsObj($objElement) Then ConsoleWrite($objElement(0).childNodes(0).nodeValue &@crlf)
;For $oXmlNode In $objElement
;ConsoleWrite($oXmlNode.nodename & " - " & $oXmlNode.text &@crlf)
;Next
$objElement = $oXmlroot.getElementsByTagName("keyword")
For $oXmlNode In $objElement
;ConsoleWrite($oXmlNode.nodename & " - " & $oXmlNode.text &@crlf)
For $oXmlNodeD In $oXmlNode.childNodes
;ConsoleWrite($oXmlNodeD.nodename & " - " & $oXmlNodeD.text &@crlf)
Select
Case $oXmlnodeD.nodename = "text"
ConsoleWrite($oXmlnodeD.text &":"&@crlf)
Case $oXmlnodeD.nodename = "relevance"
ConsoleWrite($oXmlnodeD.text &@crlf)
EndSelect
Next
Next
;===============================================================================
; Function Name: _XmlFileLoad
; Description: Load and parse the XML file
; Parameters: $strFile XML file to load
; Syntax: _XmlBuildTree($objXml,$treeview)
; Author(s): Stephen Podhajecki
; Returns: Object handle on success
; 0 on failure and sets error to parser error.
;===============================================================================
Func _XmlFileLoad($strXmlFile)
$strFile = $strXmlFile
;if not isobj($oXml) then
$oXml = ObjCreate("Msxml2.DOMDocument.3.0")
$oXml.async=0
$oXml.load ($strFile)
If $oXml.parseError.errorCode <> 0 Then
MsgBox(4096, "Error", "Error opening specified file: " & $strFile & @CRLF & $oXml.parseError.reason)
SetError($oXml.parseError.errorCode)
Return 0
EndIf
Return $oXml
EndFunc ;==>_XmlFileLoad
|
AutoIT >