Zum Hauptinhalt springen

API

constructor

new XmlSerializer(
rootNode: string,
transformOptions?: XmlSerializerTransformOptions,
document?: DOMDocument,
domParser?: DOMParser
): XmlSerializer

Parameter:

  • rootNode: string: Der Hauptknoten der XML-Datei
  • transformOptions?: XmlSerializerTransformOptions: Optionen zum Transformieren der XML, siehe XmlSerializerTransformOptions (Optional)
  • document?: DOMDocument: Ein bereits existierendes DOMDocument (Optional)
  • domParser?: DOMParser: Klasse für DOMParser (IoC) (Optional)

Beispiel:

context.enableModules();
const { XmlSerializer } = require("ou.sp.XmlSerializer");
context.returnValue = new XmlSerializer("root").serialize().toString();

Erweitertes Beispiel:

context.enableModules();
const { XmlSerializer } = require("ou.sp.XmlSerializer");
const transformOptions = {
createEmptyNodes: false,
convertDateToString: true,
dateFormat: "dd.mm.yyyy"
}
context.returnValue = new XmlSerializer("root", transformOptions).serialize().toString();
tipp

Alle möglichen Transform Optionen, siehe XmlSerializerTransformOptions.

Statische Funktionen

cdata : string

XmlSerializer.cdata(value: string): string

Beispiel:

context.enableModules();
const { XmlSerializer } = require("ou.sp.XmlSerializer");
const cdata = XmlSerializer.cdata("<Nachricht>Markup<Nachricht>");
// <![CDATA[<Nachricht>Markup<Nachricht>]]>

Instanz Funktionen

serialize : XmlSerializerResult

serialize(json: Object): XmlSerializerResult

Konvertiert ein JSON -Objekt und gibt ein XmlSerializerResult Instanz zurück, siehe XmlSerializerResult.

Beispiel:

context.enableModules();
const { XmlSerializer } = require("ou.sp.XmlSerializer");
const serializer = new XmlSerializer("root")

const result = serializer.serialize({
node1: "Test1",
node2: "Test2",
})

// Result as XML-String
const xml = result.toString();
/*
<root>
<node1>Test1</node1>
<node2>Test2</node2>
</root>
*/

// Save XML to file system
try {
const saved = result.save("D:\\tmp\\test.xml");
} catch (error) {
// error.message -> DOMParser error
}