Beispiele
Zuletzt geändert: 14.03.2026 11:58

XML-Beispiele #

Diese Seite enthält vollständige XML-Beispieldateien für die häufigsten Import-Szenarien sowie VBScript-Beispiele für die programmgesteuerte Verarbeitung.

Einfacher Artikelimport #

Zwei Artikel mit Artikelnummer, Kurztext, Langtext und Preis:

<?xml version="1.0" encoding="WINDOWS-1252"?>
<EULANDA>
  <METADATA>
    <VERSION>1.1</VERSION>
    <GENERATOR>Beispiel</GENERATOR>
    <DATEFORMAT>ISO8601</DATEFORMAT>
    <FLOATFORMAT>US</FLOATFORMAT>
    <FIELDNAMES>NATIVE</FIELDNAMES>
    <DATE>2026-03-14T12:00:00</DATE>
  </METADATA>
  <ARTIKELLISTE>
    <ARTIKEL>
      <ID.ALIAS>4711</ID.ALIAS>
      <ARTNUMMER>4711</ARTNUMMER>
      <ARTMATCH>MEIN ARTIKEL</ARTMATCH>
      <BRUTTOFLG>0</BRUTTOFLG>
      <VK>47.23</VK>
      <KURZTEXT1>Mein Artikel</KURZTEXT1>
      <LANGTEXT>Ausführliche Beschreibung des Artikels.</LANGTEXT>
    </ARTIKEL>
    <ARTIKEL>
      <ID.ALIAS>0815</ID.ALIAS>
      <ARTNUMMER>0815</ARTNUMMER>
      <ARTMATCH>ZWEITER ARTIKEL</ARTMATCH>
      <BRUTTOFLG>0</BRUTTOFLG>
      <VK>66.65</VK>
      <KURZTEXT1>Zweiter Artikel</KURZTEXT1>
      <LANGTEXT>Auch dieser Artikel hat eine Beschreibung.</LANGTEXT>
    </ARTIKEL>
  </ARTIKELLISTE>
</EULANDA>

Einfacher Auftragsimport #

Ein Auftrag für einen bestehenden Kunden (Match-Code SCHMERZ muss in der Datenbank existieren):

<?xml version="1.0" encoding="WINDOWS-1252"?>
<EULANDA>
  <METADATA>
    <VERSION>1.1</VERSION>
    <GENERATOR>Beispiel</GENERATOR>
    <DATEFORMAT>ISO8601</DATEFORMAT>
    <FLOATFORMAT>US</FLOATFORMAT>
    <FIELDNAMES>NATIVE</FIELDNAMES>
    <DATE>2026-03-14T12:00:00</DATE>
  </METADATA>
  <AUFTRAGLISTE>
    <AUFTRAG>
      <ADRESSEID.ALIAS>SCHMERZ</ADRESSEID.ALIAS>
      <DATUM>2026-03-14T10:36:10</DATUM>
      <AUFTRAGPOSLISTE>
        <AUFTRAGPOS>
          <ARTIKELID.ALIAS>2100</ARTIKELID.ALIAS>
          <POSNUMMER>1</POSNUMMER>
          <MENGE>1</MENGE>
        </AUFTRAGPOS>
      </AUFTRAGPOSLISTE>
    </AUFTRAG>
  </AUFTRAGLISTE>
</EULANDA>

Auftragsimport mit neuem Kunden #

Adresse und Auftrag werden in einer Datei importiert. Die Verknüpfung erfolgt über ID.ALIAS:

<?xml version="1.0" encoding="WINDOWS-1252"?>
<EULANDA>
  <METADATA>
    <VERSION>1.1</VERSION>
    <GENERATOR>Beispiel</GENERATOR>
    <DATEFORMAT>ISO8601</DATEFORMAT>
    <FLOATFORMAT>US</FLOATFORMAT>
    <FIELDNAMES>NATIVE</FIELDNAMES>
    <DATE>2026-03-14T12:00:00</DATE>
  </METADATA>
  <ADRESSELISTE>
    <ADRESSE>
      <ID.ALIAS>NEUKUNDE</ID.ALIAS>
      <MATCH>NEUKUNDE</MATCH>
      <NAME2>Firma</NAME2>
      <NAME3>Neukunde GmbH</NAME3>
      <STRASSE>Musterweg 32</STRASSE>
      <LAND>DE</LAND>
      <PLZ>38644</PLZ>
      <ORT>Musterstadt</ORT>
      <TEL>02345-32434</TEL>
      <FAX>02345-32405</FAX>
    </ADRESSE>
  </ADRESSELISTE>
  <AUFTRAGLISTE>
    <AUFTRAG>
      <ADRESSEID.ALIAS>NEUKUNDE</ADRESSEID.ALIAS>
      <AUFTRAGPOSLISTE>
        <AUFTRAGPOS>
          <ARTIKELID.ALIAS>2100</ARTIKELID.ALIAS>
          <POSNUMMER>1</POSNUMMER>
          <VKRAB>350</VKRAB>
          <MENGE>1</MENGE>
        </AUFTRAGPOS>
      </AUFTRAGPOSLISTE>
    </AUFTRAG>
  </AUFTRAGLISTE>
</EULANDA>

Auftragsimport mit neuen Zahlungsbedingungen #

Zahlungsbedingungen, Adresse und Auftrag in einer Datei. Die Adresse verweist über ZIELID.ALIAS auf die Zahlungsbedingung:

<?xml version="1.0" encoding="WINDOWS-1252"?>
<EULANDA>
  <METADATA>
    <VERSION>1.1</VERSION>
    <GENERATOR>Beispiel</GENERATOR>
    <DATEFORMAT>ISO8601</DATEFORMAT>
    <FLOATFORMAT>US</FLOATFORMAT>
    <FIELDNAMES>NATIVE</FIELDNAMES>
    <DATE>2026-03-14T12:00:00</DATE>
  </METADATA>
  <KONZIELLISTE>
    <KONZIEL>
      <ID.ALIAS>SHOP</ID.ALIAS>
      <NAME>SHOP</NAME>
      <ZIELTAGE0>15</ZIELTAGE0>
      <ZIELTEXT>Zahlbar sofort rein netto ohne Abzug.</ZIELTEXT>
      <ZAHLUNGSART>MISC</ZAHLUNGSART>
    </KONZIEL>
  </KONZIELLISTE>
  <ADRESSELISTE>
    <ADRESSE>
      <ID.ALIAS>SHOPKUNDE</ID.ALIAS>
      <ZIELID.ALIAS>SHOP</ZIELID.ALIAS>
      <MATCH>SHOPKUNDE</MATCH>
      <NAME2>Firma</NAME2>
      <NAME3>Shop-Kunde GmbH</NAME3>
      <STRASSE>Einkaufsstraße 1</STRASSE>
      <LAND>DE</LAND>
      <PLZ>10115</PLZ>
      <ORT>Berlin</ORT>
    </ADRESSE>
  </ADRESSELISTE>
  <AUFTRAGLISTE>
    <AUFTRAG>
      <ADRESSEID.ALIAS>SHOPKUNDE</ADRESSEID.ALIAS>
      <OBJEKT>SHOPBESTELLUNG</OBJEKT>
      <AUFTRAGPOSLISTE>
        <AUFTRAGPOS>
          <ARTIKELID.ALIAS>2100</ARTIKELID.ALIAS>
          <POSNUMMER>1</POSNUMMER>
          <VKRAB>350</VKRAB>
          <MENGE>1</MENGE>
        </AUFTRAGPOS>
      </AUFTRAGPOSLISTE>
    </AUFTRAG>
  </AUFTRAGLISTE>
</EULANDA>

VBScript: XML-Datei importieren #

Import einer vorbereiteten XML-Datei vom Desktop:

Option Explicit

Dim xmlEul
Set xmlEul = Client.CreateObject("XMLLIB")
xmlEul.LoadFromFile Client.Properties("FOLDER.DESKTOP") & "\ARTIKEL.XML"
xmlEul.SaveToDB "SALESARTICLE"
Set xmlEul = Nothing

VBScript: XML programmgesteuert erzeugen und importieren #

Dieses Beispiel erstellt das XML im Script über Microsoft.XMLDOM und importiert es anschließend über das XMLLIB-Objekt:

Option Explicit

Main

Sub AddElement(xmlDoc, root, ElementName, ElementValue)
  Dim element
  Set element = xmlDoc.CreateElement(ElementName)
  root.appendChild element
  root.lastChild.text = ElementValue
End Sub

Sub Main
  Dim xmlEul, xmlDoc, metadata, root, artikelliste, artikel

  Set xmlEul = Client.CreateObject("XMLLIB")

  ' XML-Dokument aufbauen
  Set xmlDoc = Client.CreateObject("Microsoft.XMLDOM")
  xmlDoc.async = False
  xmlDoc.loadXML "<?xml version=""1.0"" encoding=""WINDOWS-1252""?>" & vbCrLf & _
                 "<EULANDA></EULANDA>"
  Set root = xmlDoc.documentElement

  ' Metadata-Block
  Set metadata = xmlDoc.createNode(1, "METADATA", "")
  root.appendChild metadata
  AddElement xmlDoc, metadata, "VERSION", "1.1"
  AddElement xmlDoc, metadata, "GENERATOR", "MeinScript"
  AddElement xmlDoc, metadata, "DATEFORMAT", "ISO8601"
  AddElement xmlDoc, metadata, "FLOATFORMAT", "US"
  AddElement xmlDoc, metadata, "FIELDNAMES", "NATIVE"
  AddElement xmlDoc, metadata, "DATE", ellib.DateTimeToXmlStr(Date + Time)

  ' Artikelliste
  Set artikelliste = xmlDoc.createNode(1, "ARTIKELLISTE", "")
  root.appendChild artikelliste

  ' Erster Artikel
  Set artikel = xmlDoc.createNode(1, "ARTIKEL", "")
  artikelliste.appendChild artikel
  AddElement xmlDoc, artikel, "ID.ALIAS", "4711"
  AddElement xmlDoc, artikel, "ARTNUMMER", "4711"
  AddElement xmlDoc, artikel, "KURZTEXT1", "Mein Kurztext zu 4711"
  AddElement xmlDoc, artikel, "LANGTEXT", "Mein Langtext zu 4711"
  AddElement xmlDoc, artikel, "VK", ellib.FloatToXmlStr(47.23)

  ' Zweiter Artikel
  Set artikel = xmlDoc.createNode(1, "ARTIKEL", "")
  artikelliste.appendChild artikel
  AddElement xmlDoc, artikel, "ID.ALIAS", "0815"
  AddElement xmlDoc, artikel, "ARTNUMMER", "0815"
  AddElement xmlDoc, artikel, "KURZTEXT1", "Mein Kurztext zu 0815"
  AddElement xmlDoc, artikel, "LANGTEXT", "Mein Langtext zu 0815"
  AddElement xmlDoc, artikel, "VK", ellib.FloatToXmlStr(66.65)

  ' Import in die Datenbank
  xmlEul.LoadFromXml xmlDoc.documentElement.xml
  xmlEul.SaveToDB "SALESARTICLE"

  Set artikel = Nothing
  Set artikelliste = Nothing
  Set metadata = Nothing
  Set root = Nothing
  Set xmlDoc = Nothing
  Set xmlEul = Nothing
End Sub

Hinweise zum VBScript-Beispiel #

  • ellib.DateTimeToXmlStr() konvertiert ein Datum in das ISO-8601-Format
  • ellib.FloatToXmlStr() konvertiert eine Zahl in das US-Format (Dezimalpunkt)
  • Client.CreateObject("Microsoft.XMLDOM") erzeugt ein Standard-XML-DOM-Objekt
  • xmlEul.LoadFromXml lädt das XML aus einem Element-String (ohne XML-Declaration)

Siehe auch #