#include <_XMLDOMWrapper.au3>
Global $sXmlFile = @ScriptDir & "\testxml.xml"
; Create array of "TARGET_STATE" data to add
Global $avArray[4][5]
For $n = 0 To UBound($avArray) - 1
$avArray[$n][0] = String(603 + $n) ; ID_NUMBER
$avArray[$n][1] = String(603 + $n) ; ORIGINAL_ID
$avArray[$n][2] = "0" ; PHYSICAL_PARENT
$avArray[$n][3] = "1" ; SELECTED_POLICY
$avArray[$n][4] = "" ; VULN_STATE
Next
; Create XML file and basic path
_XMLCreateFile($sXmlFile, "SESSION_FILE", False)
_XMLFileOpen($sXmlFile)
_XMLCreateRootChild("ASSET_INFORMATION")
_XMLCreateChildNode("SESSION_FILE/ASSET_INFORMATION", "TARGET_INFORMATION")
For $n = 0 To UBound($avArray) - 1
; Add required "TARGET_STATE" node
_XMLCreateChildNode("SESSION_FILE/ASSET_INFORMATION/TARGET_INFORMATION", "TARGET_STATE")
; Add child nodes
_XMLCreateChildNode("SESSION_FILE/ASSET_INFORMATION/TARGET_INFORMATION/TARGET_STATE[" & $n + 1 & "]", "ID_NUMBER", $avArray[$n][0])
_XMLCreateChildNode("SESSION_FILE/ASSET_INFORMATION/TARGET_INFORMATION/TARGET_STATE[" & $n + 1 & "]", "ORIGINAL_ID", $avArray[$n][1])
_XMLCreateChildNode("SESSION_FILE/ASSET_INFORMATION/TARGET_INFORMATION/TARGET_STATE[" & $n + 1 & "]", "PHYSICAL_PARENT", $avArray[$n][2])
_XMLCreateChildNode("SESSION_FILE/ASSET_INFORMATION/TARGET_INFORMATION/TARGET_STATE[" & $n + 1 & "]", "SELECTED_POLICY", $avArray[$n][3])
_XMLCreateChildNode("SESSION_FILE/ASSET_INFORMATION/TARGET_INFORMATION/TARGET_STATE[" & $n + 1 & "]", "VULN_STATE", $avArray[$n][4])
Next