Convert to Xml Node
Zuletzt geändert: 14.03.2026 05:56

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.