XMLStreamingAPI: Bereichsbezogen
Erstellt eine große Streaming-XML-Nutzlast zur Verwendung in einer REST- oder SOAP-Anforderung zum Senden von Massendaten an eine Drittanbieter-API. Sie können die Nutzlast auch als XML-Zeichenfolge für eine Nicht-Streaming-Option erstellen.
-Skriptschritt mit dem Namespace-Bezeichner sn_ih. Sie können diese API beispielsweise verwenden, um im Skriptschritt Workflow-Studio eine XML-Nutzlast zu erstellen und den zurückgegebenen Wert an den REST-Schritt zu übergeben, um die Anforderung an einen Drittanbieterservice zu senden. Weitere Informationen finden Sie im Workflow-Studio Skriptschritt.
Für diese Klasse ist kein Konstruktor vorhanden. Stattdessen müssen Sie die Methode build() in der Klasse XMLStreamingBuilder aufrufen, um ein XMLStreamingAPI-Objekt zurückzugeben.
API-Aufrufreihenfolge
Generieren Sie XML-Nutzlasten, indem Sie zuerst ein Builder-Objekt mit XMLStreamingBuilder instanziieren und dann die Methoden in der XMLStreamingAPI -Klasse aufrufen:
- 1. XMLStreamingBuilder: Erstellt ein Builder-Objekt
- Verwenden Sie diese Methoden in der folgenden Reihenfolge, um ein Builder-Objekt zu erstellen:
- XMLStreamingBuilder(): Instanziiert das XMLStreamingBuilder-Objekt.
- withAttachment(): Optional. Erstellt ein XML-Dokument als Anhang und speichert es in der Tabelle „Streaming-Anhänge“ [streaming_attachment]. Wenn Sie diese Methode nicht aufrufen, erstellt die API die Nutzlast als XML-Zeichenfolge.
- RunesAt(): Optional. Legt eine Uhrzeit fest, nach der der Anhang abläuft. Die Standardeinstellung ist „falsch“. Muss auch withAttachment()- Methode aufrufen.
- build(): Gibt ein XMLStreamingAPI-Objekt zurück.
- 2. XMLStreamingAPI: Erstellt die XML-Nutzlast
- Verwenden Sie diese Methoden in der folgenden Reihenfolge, um die XML-Nutzlast zu erstellen:
- startDocument(): Erstellt das übergeordnete Element der obersten Ebene im XML-Dokument.
- Methoden zum Generieren von untergeordneten Elementen im XML-Dokument, z. B. writeTextElement(), startElement()und writeArray().
- Methoden zum Generieren von Attributen für ein Element, z. B. writeAttribute(), writeNamespace()und writeDtd().
- endElement(): Schließt ein XML-Element.
- endDocument: Schließt das übergeordnete Element der obersten Ebene.
- getXMLString() oder getAttachmentId(): Gibt die von Ihnen erstellte XML-Zeichenfolge oder Anhangs-ID zurück.
- close(): Schließt das XMLStreamingAPI-Objekt.
Größenbeschränkungen
Über diese API generierte Nutzlasten dürfen diese Größenbeschränkungen nicht überschreiten:
- Anhänge: 200 MB
- Zeichenfolgen: 5 MB
Das folgende Beispiel zeigt, wie Sie ein XML-Dokument erstellen und in der Tabelle „Streaming-Anhänge“ [streaming_attachment] mit einem definierten Ablaufdatum speichern.
try {
var ttl = new GlideDateTime("2011-01-01 12:00:00");
var builder = new sn_ih.XMLStreamingBuilder()
.withAttachment() // Creates the XML document in streaming mode within an attachment.
.expiresAt(ttl) // Sets an expiration date for the attachment.
.build(); // Creates the XMLStreamingAPI object.
builder.startDocument("Employee") // Begins generating the XML document.
.writeTextElement("firstName","John") // Writes a "firstName" element and value.
.writeTextElement("lastName","Smith")
.writeTextElement("age","25")
.startElement("address") // Adds an "address" parent element.
.writeTextElement("streetAddress", "21 2nd Street") // Writes a child element and value.
.writeTextElement("city", "Santa Clara")
.writeTextElement("state", "CA")
.writeTextElement("postalCode", "11111")
.endElement() // Adds a closing tag for the "address" element.
.startElement("phoneNumber")
.writeTextElement("type","home")
.writeTextElement("number","212 555-1234")
.writeTextElement("type","fax")
.writeTextElement("number","646 555-4567")
.endElement()
.endDocument() // Stops generating the XML document.
gs.log(builder.getAttachmentId()); // Returns the sys_id of the attachment.
} catch (err) {
gs.log(err);
} finally {
builder.close();
}Alternativ zeigt dieses Beispiel, wie Sie im Skriptschritt die API verwenden und die Nutzlast als XML-Zeichenfolge erstellen. Sie können diese Option verwenden, um Nutzlasten unter 5 MBzu erstellen.
(function execute(inputs, outputs) {
var builder = new sn_ih.XMLStreamingBuilder().build();
builder.startDocument("Employee")
.enablePrettyPrint()
.writeTextElement("firstName","John")
.writeTextElement("lastName","Smith")
.writeTextElement("age","25")
.startElement("address")
.writeTextElement("streetAddress", "21 2nd Street")
.writeTextElement("city", "Santa Clara")
.writeTextElement("state", "CA")
.writeTextElement("postalCode", "11111")
.endElement()
.startElement("phoneNumber")
.writeTextElement("type","home")
.writeTextElement("number","212 555-1234")
.writeTextElement("type","fax")
.writeTextElement("number","646 555-4567")
.endElement()
.endDocument()
outputs.payload = builder.getXMLString();
})(inputs, outputs);Ausgabe:
<?xml version="1.0" encoding="UTF-8"?>
<firstName>John</firstName>
<lastName>Smith</lastName>
<age>25</age>
<address>
<streetAddress>21 2nd Street</streetAddress>
<city>Santa Clara</city>
<state>CA</state>
<postalCode>11111</postalCode>
</address>
<phoneNumber>
<type>home</type>
<number>212 555-1234</number>
<type>fax</type>
<number>646 555-4567</number>
</phoneNumber>XMLStreamingAPI – schließen ()
Schließt das XMLStreamingAPI-Objekt. Sie müssen diese Methode aufrufen, um den Stream nach dem Erstellen Ihres XML-Dokuments zu schließen.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| void |
Beispiel
Das folgende Beispiel zeigt, wie Sie ein XML-Dokument erstellen und in der Tabelle „Streaming-Anhänge“ [streaming_attachment] mit einem definierten Ablaufdatum speichern.
try {
var ttl = new GlideDateTime("2011-01-01 12:00:00");
var builder = new sn_ih.XMLStreamingBuilder()
.withAttachment() // Creates the XML document in streaming mode within an attachment.
.expiresAt(ttl) // Sets an expiration date for the attachment.
.build(); // Creates the XMLStreamingAPI object.
builder.startDocument("Employee") // Begins generating the XML document.
.writeTextElement("firstName","John") // Writes a "firstName" element and value.
.writeTextElement("lastName","Smith")
.writeTextElement("age","25")
.startElement("address") // Adds an "address" parent element.
.writeTextElement("streetAddress", "21 2nd Street") // Writes a child element and value.
.writeTextElement("city", "Santa Clara")
.writeTextElement("state", "CA")
.writeTextElement("postalCode", "11111")
.endElement() // Adds a closing tag for the "address" element.
.startElement("phoneNumber")
.writeTextElement("type","home")
.writeTextElement("number","212 555-1234")
.writeTextElement("type","fax")
.writeTextElement("number","646 555-4567")
.endElement()
.endDocument() // Stops generating the XML document.
gs.log(builder.getAttachmentId()); // Returns the sys_id of the attachment.
} catch (err) {
gs.log(err);
} finally {
builder.close();
}
XMLStreamingAPI – disablePrettyPrint()
Beendet die XML-Formatierung für schön drucken.
Bevor Sie diese Methode aufrufen, müssen Sie enablePrettyPrint() aufrufen, um einem Abschnitt XML-Formatierungen hinzuzufügen.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| XMLStreamingAPI | Streaming-XML-Objekt zum Erstellen der Nutzlast. |
Das folgende Beispiel zeigt, wie Sie dem Adresselement eine ansprechende Druckformatierung hinzufügen.
try {
var ttl = new GlideDateTime("2011-01-01 12:00:00");
var builder = new sn_ih.XMLStreamingBuilder()
.withAttachment()
.expiresAt(ttl)
.build();
builder.startDocument("Employee")
.writeTextElement("firstName","John")
.writeTextElement("lastName","Smith")
.writeTextElement("age","25")
.enablePrettyPrint()
.startElement("address")
.writeTextElement("streetAddress", "21 2nd Street")
.writeTextElement("city", "Santa Clara")
.writeTextElement("state", "CA")
.writeTextElement("postalCode", "11111")
.endElement()
.disablePrettyPrint()
.startElement("phoneNumber")
.writeTextElement("type","home")
.writeTextElement("number","212 555-1234")
.writeTextElement("type","fax")
.writeTextElement("number","646 555-4567")
.endElement()
.endDocument()
gs.log(builder.getAttachmentId());
} catch (err) {
gs.log(err);
} finally {
builder.close();
}
XMLStreamingAPI – enablePrettyPrint()
Fügt einem XML-Element oder einer Struktur von Elementen eine ansprechende Druckformatierung hinzu.
Verwenden Sie die Methode disablePrettyPrint(), um die Formatierung zu beenden.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| XMLStreamingAPI | Streaming-XML-Objekt zum Erstellen der Nutzlast. |
Das folgende Beispiel zeigt, wie Sie dem Adresselement eine ansprechende Druckformatierung hinzufügen.
try {
var ttl = new GlideDateTime("2011-01-01 12:00:00");
var builder = new sn_ih.XMLStreamingBuilder()
.withAttachment()
.expiresAt(ttl)
.build();
builder.startDocument("Employee")
.writeTextElement("firstName","John")
.writeTextElement("lastName","Smith")
.writeTextElement("age","25")
.enablePrettyPrint()
.startElement("address")
.writeTextElement("streetAddress", "21 2nd Street")
.writeTextElement("city", "Santa Clara")
.writeTextElement("state", "CA")
.writeTextElement("postalCode", "11111")
.endElement()
.disablePrettyPrint()
.startElement("phoneNumber")
.writeTextElement("type","home")
.writeTextElement("number","212 555-1234")
.writeTextElement("type","fax")
.writeTextElement("number","646 555-4567")
.endElement()
.endDocument()
gs.log(builder.getAttachmentId());
} catch (err) {
gs.log(err);
} finally {
builder.close();
}
XMLStreamingAPI – endDocument()
Beendet die Struktur Ihres XML-Dokuments.
Nachdem Sie die startDocument()- Methode aufgerufen und Ihr Streaming-XML-Dokument organisiert haben, rufen Sie die endDocument()- Methode am Ende der Struktur Ihres Dokuments auf. Sie müssen diese beiden Methoden zusammen verwenden, um die Struktur Ihres Streaming-XML-Dokuments erfolgreich zu erstellen.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| XMLStreamingAPI | Streaming-XML-Objekt zum Erstellen der Nutzlast. |
Das folgende Beispiel zeigt, wie Sie ein XML-Dokument erstellen, das Elemente zu einem Benutzer enthält.
try {
var ttl = new GlideDateTime('2011-01-01 12:00:00');
var builder = new sn_ih.XMLStreamingBuilder().withAttachment().expiresAt(ttl);
var streamingDocument = builder.build();
streamingDocument.startDocument('Employee')
.writeTextElement('firstName', 'John')
.writeTextElement('lastName', 'Smith')
.writeTextElement('age', '25')
.endDocument();
gs.log(streamingDocument.getAttachmentId());
} catch (err) {
gs.log(err);
} finally {
streamingDocument.close();
}
XMLStreamingAPI – endElement()
Fügt einem XML-Element ein schließendes Tag hinzu.
- Verwenden Sie die Methode startElement(), um ein Start-Tag hinzuzufügen.
- Verwenden Sie die Methode endElement(), um das schließende Tag hinzuzufügen.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| XMLStreamingAPI | Streaming-XML-Objekt zum Erstellen der Nutzlast. |
Das folgende Beispiel zeigt, wie ein übergeordnetes Element namens „ dress “ erstellt und anschließend vier untergeordnete Elemente beschrieben werden.
try {
var ttl = new GlideDateTime("2011-01-01 12:00:00");
var builder = new sn_ih.XMLStreamingBuilder()
.withAttachment()
.expiresAt(ttl)
.build();
builder.startDocument("Employee")
.startElement("address")
.writeTextElement("streetAddress", "21 2nd Street")
.writeTextElement("city", "Santa Clara")
.writeTextElement("state", "CA")
.writeTextElement("postalCode", "11111")
.endElement()
.endDocument()
gs.log(builder.getAttachmentId());
} catch (err) {
gs.log(err);
} finally {
builder.close();
}
XMLStreamingAPI – getXMLString()
Gibt das XML-Dokument als Zeichenfolge zurück.
Um das XML-Dokument als Zeichenfolge zurückzugeben, rufen Sie nicht die getAttachementId()- Methode in der XMLStreamingBuilder -Klasse auf. Weitere Informationen finden Sie unter XMLStreamingBuilder – Bereichsbezogen.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Mit den XMLStreamingAPI- Methoden erstelltes XML-Dokument als Zeichenfolge |
Das folgende Beispiel zeigt, wie Sie ein XML-Dokument erstellen und dann als Zeichenfolge zurückgeben.
(function execute(inputs, outputs) {
var builder = new sn_ih.XMLStreamingBuilder().build();
builder.startDocument("Employee")
.enablePrettyPrint()
.writeTextElement("firstName","John")
.writeTextElement("lastName","Smith")
.writeTextElement("age","25")
.startElement("address")
.writeTextElement("streetAddress", "21 2nd Street")
.writeTextElement("city", "Santa Clara")
.writeTextElement("state", "CA")
.writeTextElement("postalCode", "11111")
.endElement()
.startElement("phoneNumber")
.writeTextElement("type","home")
.writeTextElement("number","212 555-1234")
.writeTextElement("type","fax")
.writeTextElement("number","646 555-4567")
.endElement()
.endDocument()
outputs.payload = builder.getXMLString();
})(inputs, outputs);Ausgabe:
<?xml version="1.0" encoding="UTF-8"?>
<firstName>John</firstName>
<lastName>Smith</lastName>
<age>25</age>
<address>
<streetAddress>21 2nd Street</streetAddress>
<city>Santa Clara</city>
<state>CA</state>
<postalCode>11111</postalCode>
</address>
<phoneNumber>
<type>home</type>
<number>212 555-1234</number>
<type>fax</type>
<number>646 555-4567</number>
</phoneNumber>XMLStreamingAPI – startDocument(String rootElement, Object namespaceDefinitionMap)
Startet die Erstellung eines XML-Dokuments.
Rufen Sie nach dem Aufrufen der build() -Methode die startDocument()- Methode auf, um mit der Organisation Ihres XML-Dokuments zu beginnen. Sie müssen auch die Methode endDocument am Ende der Struktur Ihres Dokuments aufrufen.
| Name | Typ | Beschreibung |
|---|---|---|
| rootElement | Zeichenfolge | Optional. Stammelement oder übergeordnetes Element der obersten Ebene für Ihr XML-Dokument. |
| namespaceDefinitionMap | Objekt | Optional. Zuordnung von Schlüsseln und Werten für die Namespaces und die zugehörigen Werte in einer nachfolgenden Liste von Elementen. Beispiel: |
| Typ | Beschreibung |
|---|---|
| XMLStreamingAPI | Streaming-XML-Objekt zum Erstellen der Nutzlast. |
Das folgende Beispiel zeigt, wie Sie ein XML-Dokument erstellen, das Elemente mit Informationen zu einem Mitarbeiter enthält.
try {
var ttl = new GlideDateTime('2011-01-01 12:00:00');
var builder = new sn_ih.XMLStreamingBuilder().withAttachment().expiresAt(ttl);
var streamingDocument = builder.build();
streamingDocument.startDocument('Employee')
.writeTextElement('firstName', 'John')
.writeTextElement('lastName', 'Smith')
.writeTextElement('age', '25')
.endDocument();
gs.log(streamingDocument.getAttachmentId());
} catch (err) {
gs.log(err);
} finally {
streamingDocument.close();
}
XMLStreamingAPI - startElement (Zeichenfolgenname, ObjektnamespaceMap, ObjektattributeMap, Zeichenfolgenpräfix)
Fügt ein Start-Tag für ein XML-Element hinzu.
- Verwenden Sie die Methode startElement(), um ein Start-Tag hinzuzufügen.
- Verwenden Sie die Methode endElement(), um das schließende Tag hinzuzufügen.
| Name | Typ | Beschreibung |
|---|---|---|
| Name | Zeichenfolge | Name des XML-Elements. |
| namespaceMap | Objekt | Optional. Zuordnung von Schlüsseln und Werten für die Namespaces und die zugehörigen Werte in einer nachfolgenden Liste von Elementen. Beispiel: |
| attributeMap | Objekt | Optional. Zuordnung von Schlüsseln und Werten für die Attribute und die zugehörigen Werte in einer nachfolgenden Liste von Elementen. |
| Präfix | Zeichenfolge | Optional. Präfix für das XML-Element. |
| Typ | Beschreibung |
|---|---|
| XMLStreamingAPI | Streaming-XML-Objekt zum Erstellen der Nutzlast. |
Das folgende Beispiel zeigt, wie ein übergeordnetes Element namens „ dress “ erstellt und anschließend vier untergeordnete Elemente beschrieben werden.
try {
var ttl = new GlideDateTime("2011-01-01 12:00:00");
var builder = new sn_ih.XMLStreamingBuilder()
.withAttachment()
.expiresAt(ttl)
.build();
builder.startDocument("Employee")
.startElement("address")
.writeTextElement("streetAddress", "21 2nd Street")
.writeTextElement("city", "Santa Clara")
.writeTextElement("state", "CA")
.writeTextElement("postalCode", "11111")
.endElement()
.endDocument()
gs.log(builder.getAttachmentId());
} catch (err) {
gs.log(err);
} finally {
builder.close();
}
XMLStreamingAPI – writeArray(String elementName, Array data, String WrappingElement)
Fügt Ihrem Streaming-XML-Dokument eine Liste geschachtelter Elemente mit vordefiniertem Text hinzu.
Nach dem Aufrufen der startDocument() -Methode können Sie die writeArray()- Methode aufrufen, um Ihrem XML-Streaming-Dokument einen Block geschachtelter Elemente hinzuzufügen.
| Name | Typ | Beschreibung |
|---|---|---|
| elementName | Zeichenfolge | Name des XML-Elements, das jeder im Array data aufgeführten Zeichenfolge zugeordnet ist. |
| Daten | Array | Liste der Werte, die jedem in wrappingElementgeschachtelten Element zugewiesen werden sollen. |
| WrappingElement | Zeichenfolge | Übergeordnetes Element, das jeweils elementNameenthält. |
| Typ | Beschreibung |
|---|---|
| XMLStreamingAPI | Streaming-XML-Objekt zum Erstellen der Nutzlast. |
Das folgende Beispiel zeigt, wie ein übergeordnetes Element namens „officeLocations“ erstellt und dann ein Array von fünf Elementen der Stadt geschachtelt wird.
try {
var ttl = new GlideDateTime("2011-01-01 12:00:00");
var builder = new sn_ih.XMLStreamingBuilder()
.withAttachment()
.expiresAt(ttl)
.build();
builder.startDocument("Employee")
.writeArray('city', ['Santa Clara','San Diego','Chicago','Sydney','London'], 'officeLocations')
.endDocument()
gs.log(builder.getAttachmentId());
} catch (err) {
gs.log(err);
} finally {
builder.close();
}
XMLStreamingAPI – writeAttribute(Zeichenfolgenname, Zeichenfolgenwert)
Fügt einem Element in Ihrem XML-Dokument ein Attribut hinzu.
Nach dem Aufrufen der Methode startDocument(), startElement()oder writeTextElement() können Sie die Methode writeAttribute() aufrufen, um dem zugehörigen XML-Element ein Attribut hinzuzufügen.
| Name | Typ | Beschreibung |
|---|---|---|
| Name | Zeichenfolge | Name des Attributs des XML-Elements. |
| Wert | Zeichenfolge | Wert für das Attribut des XML-Elements. |
| Typ | Beschreibung |
|---|---|
| XMLStreamingAPI | Streaming-XML-Objekt zum Erstellen der Nutzlast. |
In diesem Beispiel wird dem Mitarbeiterelement ein Attribut mit der Bezeichnung „idNumber “ hinzugefügt.
try {
var ttl = new GlideDateTime('2011-01-01 12:00:00');
var builder = new sn_ih.XMLStreamingBuilder().withAttachment().expiresAt(ttl);
var streamingDocument = builder.build();
streamingDocument.startDocument('Employee')
.writeAttribute('idNumber','12345')
.writeTextElement('firstName', 'John')
.writeTextElement('lastName', 'Smith')
.writeTextElement('age', '25')
.endDocument();
gs.log(streamingDocument.getAttachmentId());
} catch (err) {
gs.log(err);
} finally {
streamingDocument.close();
}
XMLStreamingAPI – writeAttributes(Object attributeMap)
Fügt einem Element in Ihrem XML-Dokument Attribute hinzu.
Nach dem Aufrufen der Methode startDocument(), startElement()oder writeTextElement() können Sie die Methode writeAttributes() aufrufen, um dem zugehörigen XML-Element Attribute hinzuzufügen.
| Name | Typ | Beschreibung |
|---|---|---|
| attributeMap | Objekt | Zuordnung von Schlüsseln und Werten, die Attributnamen und -werte enthalten, die dem XML-Element zugeordnet werden sollen. Beispiel: |
| Typ | Beschreibung |
|---|---|
| XMLStreamingAPI | Streaming-XML-Objekt zum Erstellen der Nutzlast. |
In diesem Beispiel werden dem Element „ Mitarbeiter“ die Attribute „ idNumber“, „officeLocation“ und „ department “ hinzugefügt.
try {
var ttl = new GlideDateTime('2011-01-01 12:00:00');
var builder = new sn_ih.XMLStreamingBuilder().withAttachment().expiresAt(ttl);
var streamingDocument = builder.build();
streamingDocument.startDocument('Employee')
.writeAttributes({'idNumber':'12345', 'officeLocation':'San Diego', 'department':'Sales'})
.writeTextElement('firstName', 'John')
.writeTextElement('lastName', 'Smith')
.writeTextElement('age', '25')
.endDocument();
gs.log(streamingDocument.getAttachmentId());
} catch (err) {
gs.log(err);
} finally {
streamingDocument.close();
}
XMLStreamingAPI – writeCData(Zeichenfolgendaten)
Fügt Ihrem XML-Dokument CDATA hinzu.
Nach dem Aufrufen der Methode writeCDataElement() können Sie die Methode writeCData() aufrufen, um CDATA innerhalb des Elements hinzuzufügen.
| Name | Typ | Beschreibung |
|---|---|---|
| data | Zeichenfolge | Wert, der nach dem CDATA-Stichwort in Ihr CDATA-Element aufgenommen werden soll. |
| Typ | Beschreibung |
|---|---|
| XMLStreamingAPI | Streaming-XML-Objekt zum Erstellen der Nutzlast. |
In diesem Beispiel wird CDATA zum CDATA-Element timeWorked hinzugefügt.
try {
var ttl = new GlideDateTime('2011-01-01 12:00:00');
var builder = new sn_ih.XMLStreamingBuilder().withAttachment().expiresAt(ttl);
var streamingDocument = builder.build();
streamingDocument.startDocument('Employee')
.writeTextElement('firstName', 'John')
.writeTextElement('lastName', 'Smith')
.writeTextElement('age', '25')
.writeCDataElement('timeWorked')
.writeCData('< 2 years')
.endDocument();
gs.log(streamingDocument.getAttachmentId());
} catch (err) {
gs.log(err);
} finally {
streamingDocument.close();
}
XMLStreamingAPI - writeCDataElement(Zeichenfolgenname, Zeichenfolgendaten, Objektpräfix)
Fügt Ihrem XML-Dokument ein CDATA-Element hinzu.
Nach dem Aufrufen der startDocument() -Methode können Sie die writeCDataElement()- Methode aufrufen, um Ihrem XML-Dokument ein CDATA-Element hinzuzufügen.
| Name | Typ | Beschreibung |
|---|---|---|
| Name | Zeichenfolge | Name des CDATA-Elements. |
| Daten | Zeichenfolge | Optional. Typ der Daten, als der das CDATA-Element analysiert werden soll. |
| Präfix | Objekt | Optional. Zuordnung der untergeordneten Elemente und Werte, die das CDATA-Element enthält. Beispiel: Sie müssen das Präfix eines XML-Elements mithilfe von writeNamespace()einem Namespace zuordnen. |
| Typ | Beschreibung |
|---|---|
| XMLStreamingAPI | Streaming-XML-Objekt zum Erstellen der Nutzlast. |
In diesem Beispiel wird eine Dokumenttypdefinition mit der Bezeichnung „ address “ verwendet, um eine interne Dokumenttypdefinition für das XML-Dokument zu definieren.
try {
var ttl = new GlideDateTime("2011-01-01 12:00:00");
var builder = new sn_ih.XMLStreamingBuilder()
.withAttachment()
.expiresAt(ttl)
.build();
builder.startDocument("Employee")
.writeDtd('address')
.writeCDataElement('home', '#PCDATA', {'streetAddress', 'city', 'state', 'postalCode'})
.writeTextElement("streetAddress", "21 2nd Street")
.writeTextElement("city", "Santa Clara")
.writeTextElement("state", "CA")
.writeTextElement("postalCode", "11111")
.endDocument()
gs.log(builder.getAttachmentId());
} catch (err) {
gs.log(err);
} finally {
builder.close();
}
XMLStreamingAPI – writeCharacters(String text)
Fügt Ihrem XML-Dokument Text hinzu.
Verwenden Sie die Methode writeCharacters(), um Zeichenfolgendaten in einen Abschnitt in Ihrem XML-Dokument einzufügen.
| Name | Typ | Beschreibung |
|---|---|---|
| text | Zeichenfolge | Text, der einem Abschnitt Ihres XML-Dokuments hinzugefügt werden soll. |
| Typ | Beschreibung |
|---|---|
| XMLStreamingAPI | Streaming-XML-Objekt zum Erstellen der Nutzlast. |
Das folgende Beispiel zeigt, wie Sie Elementen in Ihrem XML-Dokument Textwerte hinzufügen.
try {
var ttl = new GlideDateTime('2011-01-01 12:00:00');
var builder = new sn_ih.XMLStreamingBuilder().withAttachment().expiresAt(ttl);
var streamingDocument = builder.build();
streamingDocument.startDocument('Employee')
.startElement('firstName')
.writeCharacters('John')
.EndElement()
.startElement('lastName')
.writeCharacters('Smith')
.endElement()
.endDocument();
gs.log(streamingDocument.getAttachmentId());
} catch (err) {
gs.log(err);
} finally {
streamingDocument.close();
}
XMLStreamingAPI – writeComment(Zeichenfolgenkommentar)
Fügt Ihrem XML-Dokument einen Kommentar hinzu.
Nach dem Aufrufen der startDocument() -Methode können Sie die writeComment()- Methode aufrufen, um Ihrem XML-Dokument einen Kommentar hinzuzufügen.
| Name | Typ | Beschreibung |
|---|---|---|
| Anmerkung | Zeichenfolge | Einzubeziehender Kommentartext. |
| Typ | Beschreibung |
|---|---|
| XMLStreamingAPI | Streaming-XML-Objekt zum Erstellen der Nutzlast. |
Das folgende Beispiel zeigt, wie einem XML-Dokument ein Kommentar hinzugefügt wird.
try {
var ttl = new GlideDateTime('2011-01-01 12:00:00');
var builder = new sn_ih.XMLStreamingBuilder().withAttachment().expiresAt(ttl);
var streamingDocument = builder.build();
streamingDocument.startDocument('Employee')
.writeComment('Element for information related to active employees.')
.writeTextElement('firstName', 'John')
.writeTextElement('lastName', 'Smith')
.writeTextElement('age', '25')
.endDocument();
gs.log(streamingDocument.getAttachmentId());
} catch (err) {
gs.log(err);
} finally {
streamingDocument.close();
}
XMLStreamingAPI – writeDtd(String dtd)
Fügt Ihrem XML-Dokument eine Dokumenttypdefinition hinzu.
Nach dem Aufrufen der startDocument() -Methode können Sie die writeDtd()- Methode aufrufen, um Ihrem XML-Dokument eine gültige XML-Dokumenttypdefinition hinzuzufügen.
| Name | Typ | Beschreibung |
|---|---|---|
| DTD | Zeichenfolge | Name einer gültigen XML-Dokumenttypdefinition. |
| Typ | Beschreibung |
|---|---|
| XMLStreamingAPI | Streaming-XML-Objekt zum Erstellen der Nutzlast. |
In diesem Beispiel wird eine Dokumenttypdefinition mit der Bezeichnung „ address “ verwendet, um eine interne Dokumenttypdefinition für das XML-Dokument zu definieren.
try {
var ttl = new GlideDateTime("2011-01-01 12:00:00");
var builder = new sn_ih.XMLStreamingBuilder()
.withAttachment()
.expiresAt(ttl)
.build();
builder.startDocument("Employee")
.writeDtd('address')
.writeCDataElement('home', '#PCDATA', {'streetAddress', 'city', 'state', 'postalCode'})
.writeTextElement("streetAddress", "21 2nd Street")
.writeTextElement("city", "Santa Clara")
.writeTextElement("state", "CA")
.writeTextElement("postalCode", "11111")
.endDocument()
gs.log(builder.getAttachmentId());
} catch (err) {
gs.log(err);
} finally {
builder.close();
}
XMLStreamingAPI – writeNamespace (Zeichenfolgenpräfix, Zeichenfolge namespaceURI)
Fügt einem Element in Ihrem XML-Dokument einen Namespace hinzu.
Nach dem Aufrufen der Methode startDocument(), startElement()oder writeTextElement() können Sie die Methode writeNamespace() aufrufen, um dem zugehörigen XML-Element einen Namespace hinzuzufügen.
| Name | Typ | Beschreibung |
|---|---|---|
| Präfix | Zeichenfolge | Präfix für den XML-Namespace. |
| namespaceURI | Zeichenfolge | Optional. URI für den Namespace. |
| Typ | Beschreibung |
|---|---|
| XMLStreamingAPI | Streaming-XML-Objekt zum Erstellen der Nutzlast. |
Das folgende Beispiel zeigt, wie Sie dem Stammelement des Unternehmens einen Namespace und einen URI hinzufügen und dann das Präfix dem geschachtelten Element „companyName“ zuweisen.
try {
var ttl = new GlideDateTime('2011-01-01 12:00:00');
var builder = new sn_ih.XMLStreamingBuilder().withAttachment().expiresAt(ttl);
var streamingDocument = builder.build();
streamingDocument.startDocument('company')
.writeNamespace('x','https://www.servicenow.com')
.writeTextElement('companyName', 'ServiceNow')
.writeNamespace('x')
.endDocument();
gs.log(streamingDocument.getAttachmentId());
} catch (err) {
gs.log(err);
} finally {
streamingDocument.close();
}
XMLStreamingAPI – writeNamespaces(Object namespaceMap)
Fügt dem Stammelement in Ihrem XML-Dokument Namespaces hinzu.
Nach dem Aufrufen der Methode startDocument() oder startElement() können Sie die Methode writeNamespaces() aufrufen, um Namespaces für das zugeordnete XML-Element zu deklarieren.
| Name | Typ | Beschreibung |
|---|---|---|
| namespaceMap | Objekt | Zuordnung von Schlüsseln und Werten, die Namespace-Präfixe und URIs enthalten, die dem Stammelement des XML-Dokuments XML zugeordnet werden sollen. Beispiel: |
| Typ | Beschreibung |
|---|---|
| XMLStreamingAPI | Streaming-XML-Objekt zum Erstellen der Nutzlast. |
In diesem Beispiel werden dem Stammelement des Unternehmens zwei Namespaces und URIs hinzugefügt, und anschließend werden den geschachtelten Elementen die entsprechenden Präfixe zugewiesen.
try {
var ttl = new GlideDateTime('2011-01-01 12:00:00');
var builder = new sn_ih.XMLStreamingBuilder().withAttachment().expiresAt(ttl);
var streamingDocument = builder.build();
streamingDocument.startDocument('company')
.writeNamespaces({'x':'https://www.servicenow.com', 'y':'https://www.developer.servicenow.com'})
.writeTextElement('companyName', 'ServiceNow')
.writeNamespace('x')
.writeTextElement('devFramework', 'UI Framework')
.writeNamespace('y')
.endDocument();
gs.log(streamingDocument.getAttachmentId());
} catch (err) {
gs.log(err);
} finally {
streamingDocument.close();
}
XMLStreamingAPI – writeTextElement(Zeichenfolgenname, Zeichenfolgentext, Objektpräfix)
Fügt Ihrem XML-Dokument ein einzelnes XML-Element hinzu.
Nach dem Aufrufen der startDocument() -Methode können Sie die writeTextElement()- Methode aufrufen, um der Struktur Ihres XML-Dokuments ein einzelnes XML-Element hinzuzufügen.
| Name | Typ | Beschreibung |
|---|---|---|
| Name | Zeichenfolge | Name des XML-Elements. |
| HTML | Zeichenfolge | Wert für das XML-Element. |
| Präfix | Objekt | Optional. Zuordnung der Präfixe und Werte, die dem XML-Element zugeordnet sind. Beispiel: Sie müssen das Präfix eines XML-Elements mithilfe von writeNamespace()einem Namespace zuordnen. |
| Typ | Beschreibung |
|---|---|
| XMLStreamingAPI | Streaming-XML-Objekt zum Erstellen der Nutzlast. |
Das folgende Beispiel zeigt, wie Sie ein XML-Dokument erstellen, das drei Elemente mit Informationen zu einem Mitarbeiter enthält.
try {
var ttl = new GlideDateTime('2011-01-01 12:00:00');
var builder = new sn_ih.XMLStreamingBuilder().withAttachment().expiresAt(ttl);
var streamingDocument = builder.build();
streamingDocument.startDocument('Employee')
.writeTextElement('firstName', 'John')
.writeTextElement('lastName', 'Smith')
.writeTextElement('age', '25')
.endDocument();
gs.log(streamingDocument.getAttachmentId());
} catch (err) {
gs.log(err);
} finally {
streamingDocument.close();
}