Xml Import
Zuletzt geändert: 14.03.2026 10:13

XML-Import und -Export (JScript) #

JScript-Beispiele für den XML-Import und -Export mit EULANDA. Die vollständige Objektreferenz finden Sie unter XMLLIB-Objekt.

Artikel aus XML-Datei importieren #

Dieses Script liest eine XML-Datei vom Desktop und importiert die enthaltenen Artikel in EULANDA. Es wird als iScript-Menübefehl in der SQL-Registry hinterlegt.

var xmlEul = Client.CreateObject("XMLLIB");
xmlEul.LoadFromFile(Client.Properties("FOLDER.DESKTOP") + "\\ARTIKEL.XML");
xmlEul.SaveToDB("SALESARTICLE");

xmlEul = null;

Artikel programmatisch erzeugen und importieren #

Dieses Script erzeugt ein XML-Dokument im Speicher, fügt zwei Artikel hinzu und importiert sie in die Datenbank.

function AddElement(xmlDoc, root, elementName, elementValue) {
    var element = xmlDoc.createElement(elementName);
    root.appendChild(element);
    root.lastChild.text = elementValue;
}

function Main() {
    var xmlEul = Client.CreateObject("XMLLIB");

    var xmlDoc = Client.CreateObject("Microsoft.XMLDOM");
    xmlDoc.async = false;
    xmlDoc.loadXML(
        '<?xml version="1.0" encoding="WINDOWS-1252"?>\n' +
        '<EULANDA></EULANDA>'
    );
    var root = xmlDoc.documentElement;

    // Metadaten
    var metadata = xmlDoc.createNode(1, "METADATA", "");
    root.appendChild(metadata);
    AddElement(xmlDoc, metadata, "VERSION", "1.1");
    AddElement(xmlDoc, metadata, "GENERATOR", "JScript");
    AddElement(xmlDoc, metadata, "DATEFORMAT", "ISO8601");
    AddElement(xmlDoc, metadata, "FLOATFORMAT", "US");
    AddElement(xmlDoc, metadata, "FIELDNAMES", "NATIVE");
    AddElement(xmlDoc, metadata, "DATE", ellib.DateTimeToXmlStr(new Date()));
    AddElement(xmlDoc, metadata, "PCNAME", "PC");
    AddElement(xmlDoc, metadata, "USERNAME", "USER");
    AddElement(xmlDoc, metadata, "DATABASEVERSION", "4.69");

    // Artikelliste
    var artikelListe = xmlDoc.createNode(1, "ARTIKELLISTE", "");
    root.appendChild(artikelListe);

    // Erster Artikel
    var 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
    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 ausführen
    xmlEul.LoadFromXml(xmlDoc.documentElement.xml);
    xmlEul.SaveToDB("SALESARTICLE");

    // Aufräumen
    artikel = null;
    artikelListe = null;
    metadata = null;
    root = null;
    xmlDoc = null;
    xmlEul = null;
}

Main();