ConvertTo-XmlNode #
ÜBERSICHT #
Konvertiert eine Hashtable rekursiv in XML-Knoten innerhalb eines bestehenden XmlDocument-Objekts.
SYNTAX #
ConvertTo-XmlNode [[-XmlDoc] <System.Xml.XmlDocument>] [[-ParentNode] <System.Xml.XmlElement>]
[[-HashTable] <hashtable>] [<CommonParameters>]
BESCHREIBUNG #
Diese Funktion wird verwendet, um strukturierte Daten aus einer PowerShell-Hashtable in ein XML-Dokument zu überführen. Sie ist auf die Datenstrukturen des EULANDA-ERP-Exports abgestimmt und berücksichtigt typische Besonderheiten wie:
- Großschreibung der Tag-Namen
- Arrays als ‘*LISTE’-Container (z.B. ‘STEUERLISTE’, ‘RECHNUNGSPOSLISTE’)
- Direkte Arrays ohne Container (z.B. ‘VORTEXT’)
- Unterstützung von Attributen über Schlüssel mit ‘@’-Präfix
- Textinhalte über ‘#text’
- Datumsformate im ISO-Stil
- Dezimaltrennzeichen als Punkt für numerische Werte
PARAMETER #
-XmlDoc #
Type: System.Xml.XmlDocument
Ein vorhandenes [XmlDocument]-Objekt, in das die neuen Knoten eingefügt werden.
-ParentNode #
Type: System.Xml.XmlElement
Ein vorhandener XML-Knoten, unter dem die erzeugten Knoten angefügt werden.
-HashTable #
Type: hashtable
Die Datenquelle als PowerShell-Hashtable mit verschachteltem Aufbau.
AUSGABEN #
Gibt keinen Wert explizit zurück, sondern fügt Knoten direkt in das XmlDocument-Objekt ein.
BEISPIELE #
# Konvertiert '$data' (eine verschachtelte Hashtable) in untergeordnete XML-Knoten unterhalb von '<RECHNUNG>'.
$xml = New-Object System.Xml.XmlDocument
$root = $xml.CreateElement("RECHNUNG")
$xml.AppendChild($root)
ConvertTo-XmlNode -XmlDoc $xml -ParentNode $root -HashTable $data
HINWEISE #
- Diese Funktion wandelt standardkonform nach EULANDA-Datenlogik in eine XML-Struktur mit konsistenter Großschreibung und Listenbehandlung.
- Text mit Sonderzeichen wird als ‘InnerText’ ausgegeben, nicht als CDATA.
- Attribute werden erkannt, wenn der Key mit ‘@’ beginnt.