You can do this pretty easily with XPath. Although PowerShell usually makes working with XML pretty simple, in this case I think the format using strictly PowerShell syntax would be pretty gross.

filter XmlProperty([String]$Property) {
    $_.SelectSingleNode("/Objects/Object/Property[@Name='$Property']").InnerText
}

$Name = $b | Xmlproperty Name
$Server = $b | XmlProperty Server
# etc...


EDIT: To generically do this for an XML document that contains one or more Object elements, you can do something like this:

function ConvertFrom-Xml($XML) {
    foreach ($Object in @($XML.Objects.Object)) {
        $PSObject = New-Object PSObject
        foreach ($Property in @($Object.Property)) {
            $PSObject | Add-Member NoteProperty $Property.Name $Property.InnerText
        }
        $PSObject
    }
}

ConvertFrom-Xml $b


Convert XML to PSObject
I need to write a first program in one language that saves data in a text file, and write a second program in a second language to decrypt that file. The two languages in question don't include any crypto libraries, so I'm on my own.

Could someone recommend, point me to, or summarize a simple algorithm (pseudo code) that provides some level of basic encryption?

I don't have much experience in this area, but if you can summarize clearly in pseudo-code, I can implement it (don't assume prior knowledge).

It doesn't have to be bullet-proof, but just something that deters the user from understanding the text file. Something more secure than just a simple character-substitution (1 for 1), like perhaps a key that generates a random string used to XOR or similar complexity. I have no idea where to start.

UPDATE

How about pseudo-code for a one-time pad? Or XOR encryption with a key?
