Private/Get-CMxConfigData.ps1

function Get-CMxConfigData {
    param (
        [parameter(Mandatory=$True)]
            [ValidateNotNullOrEmpty()]
            [string] $XmlFile
    )
    Write-Host "Loading configuration data" -ForegroundColor Green
    if ($XmlFile.StartsWith("http")) {
        try {
            [xml]$data = Invoke-RestMethod -Uri $XmlFile
            Write-Output $data
        }
        catch {
            Write-Log -Category "error" -Message "failed to import data from Uri: $XmlFile"
        }
    }
    else {
        if (-not(Test-Path $XmlFile)) {
            Write-Warning "ERROR: configuration file not found: $XmlFile"
        }
        else {
            try {
                [xml]$data = Get-Content $XmlFile
                Write-Output $data
            }
            catch {
                Write-Log -Category "error" -Message "failed to import data from file: $XmlFile"
            }
        }
    }
}