The thing I cannot figure out is how to write code which will look at all of the files in my directory, say D:\temp instead of hardcoding the FileName1.xml in the first get-content command. I imagine I need to create some sort of loop to iterate through the folder and setup the get-content command to use a variable instead of the FileName1.xml and then loop through all of the files in the directory and use the dot notation similar to above to build out my report.

I am not familiar with XPath, and some searching I have done suggests that XPath is the old school way to do it (from what I can tell), but I am sure there is an easier way.

Get-ChildItem *.xml |
ForEach-Object{
# process each file
[xml]$xml = Get-Content $_
…. other code }
{/code]
Here are some PowerShell videos that will help you get started with PS and files.
https://youtu.be/6VK4TN6Umfk