Serialization/Groups/Serialize-GPPItemGroup.ps1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
function Serialize-GPPItemGroup {
    Param (
        [Parameter(Mandatory)]
        [GPPItemGroup]$InputObject
    )

    $RootElementName = 'Group'

    $XmlDocument = Serialize-GPPItem -InputObject $InputObject -RootElementName $RootElementName -SpecialSerializationTypeNames 'GPPItemPropertiesGroup'

    if ($InputObject.Properties) {
        $RootElement = $XmlDocument.$RootElementName

        $ChildElement = Serialize-GPPItemPropertiesGroup -InputObject $InputObject.Properties
        $ImportedChildElement = $XmlDocument.ImportNode($ChildElement.Properties, $true)
        [void]$RootElement.AppendChild($ImportedChildElement)

        $XmlDocument
    }
}