Bei den Klaren Vorgaben ist ein RegEx sicher die schnellste/einfachste Lösung
AutoIt
#include <array.au3>
$sFileData='<?xml version="1.0" encoding="utf-8" standalone="no"?>'&@crlf&'<Configuration>'&@crlf&'<AppSettings>'&@crlf&'<DefaultPop pop_id="Id_3"/>'&@crlf&'<Pops>'&@crlf&'<Pop name="ServerA" id="Id_3" source="User">'&@crlf&'<Hosts port="4555">'&@crlf&'<Host ip="servera"/>'&@crlf&'</Hosts>'&@crlf&'</Pop>'&@crlf&'<Pop name="ServerB" id="Id_2" source="User">'&@crlf&'<Hosts port="5555">'&@crlf&'<Host ip="Server"/>'&@crlf&'</Hosts>'&@crlf&'</Pop>'&@crlf&'<Pop id="Id_1" name="ServerMain" source="User">'&@crlf&'<Hosts port="4444">'&@crlf&'<Host ip="Servermain"/>'
$MM_LastPopUsed="Id_1"
$arResult=StringRegExp($sFileData,'(?s)<Pop(?:.*?)id="'&$MM_LastPopUsed&'"(?:.*?)>(?:.*?)<Hosts(?:.*?)port="(.*?)"(?:.*?)>(?:.*?)<Host(?:.*?)ip="(.*?)"(?:.*?)>',1)
_ArrayDisplay($arResult)
msgbox(48,"","IP: "&$arResult[1]&" Port: "&$arResult[0]&@crlf)