'PowerShell: How to group by multiple attributes from an XML document?

I'm brand new to XML so I have a question about how to manipulate XML data. My current data has an EmployeeID in 2 different segments (not sure of terminology here, maybe attribute). I want to combine the segments per EmployeeID and TimeOfDay and ensure all data for an EmployeeID is in one segment.

I thought about trying this in another language, but I'd like to see how it's done in PowerShell. How could I do this?

It needs to be grouped by EmployeeID and TimeOfDay.

The current code doesn't return any results.

$xmlPath = 'XMLFilePath' 
$xdoc = new-object System.Xml.XmlDocument
$xdoc.Load($xmlPath)
$xdoc.SelectNodes('//Employees/EmployeeID') | Group-Object { $_.ParentNode.key },{ $_.Dimension.value.Substring(0,7) } -NoElement

Current Data:

<Employees>
  <Employee>
    <EmployeeID>9999999999</EmployeeID>
    <DaysOfWeekShort></DaysOfWeekShort>
    <TimeOfDay>AM</TimeOfDay>
    <BusNumber>7777</BusNumber>
    <TimeOfDay>AM</TimeOfDay>
    <BusNumber>9999</BusNumber>
  </Employee>
  <Employee>
    <EmployeeID>9999999999</EmployeeID>
    <DaysOfWeekShort></DaysOfWeekShort>
    <TimeOfDay>PM</TimeOfDay>
    <BusNumber>8888</BusNumber>
  </Employee>
</Employees>

Desired Result:

<Employees>
  <Employee>
    <EmployeeID>9999999999</EmployeeID>
    <DaysOfWeekShort></DaysOfWeekShort>
    <TimeOfDay>AM</TimeOfDay>
    <BusNumber>7777</BusNumber>
    <BusNumber>9999</BusNumber>
    <TimeOfDay>PM</TimeOfDay>
    <BusNumber>8888</BusNumber>
  </Employee>
</Employees>


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source