XMLStreamingAPI – Scoped
Erstellen Sie eine große XML-Streaming-Nutzlast zur Verwendung in einer REST- oder SOAP-Anforderung, um Massendaten an eine Drittanbieter-API zu senden. Sie können die Nutzlast auch als XML-Zeichenfolge für eine Nicht-Streaming-Option erstellen.
-Skriptschritt mit dem Namespace-Identifier sn_ih. Beispielsweise können Sie diese API verwenden, um eine XML-Nutzlast im Skriptschritt Flow Designer 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 Flow Designer Skriptschritt.
Für diese Klasse ist kein Konstruktor vorhanden. Stattdessen müssen Sie die build()-Methode in der XMLStreamingBuilder-Klasse aufrufen, um ein XMLStreamingAPI-Objekt zurückzugeben. Weitere Informationen finden Sie unter XMLStreamingBuilder.
API-Aufrufreihenfolge
Generieren Sie XML-Nutzlasten, indem Sie zuerst ein Generatorobjekt mit XMLStreamingBuilder instanziieren und dann die Methoden in der XMLStreamingAPI -Klasse aufrufen:
- 1. XMLStreamingBuilder: Erstellt ein Generatorobjekt
- Verwenden Sie diese Methoden in der folgenden Reihenfolge, um ein Generatorobjekt 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.
- expresAt(): Optional. Legt eine Uhrzeit fest, zu der der Anhang abläuft. False ist die Standardeinstellung. Muss auch die Methode withAttachment() 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 ein XML-Dokument erstellt und in der Tabelle „Streaming-Anhänge“ [streaming_attachment] mit einem definierten Ablaufdatum gespeichert wird.
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 die API im Skriptschritt 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 – close()
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 ein XML-Dokument erstellt und in der Tabelle „Streaming-Anhänge“ [streaming_attachment] mit einem definierten Ablaufdatum gespeichert wird.
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 den Schöndruck.
Bevor Sie diese Methode aufrufen, müssen Sie zuerst enablePrettyPrint() aufrufen, um einem Abschnitt eine XML-Formatierung 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 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 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 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 XML-Streaming-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 XML-Streaming-Dokuments erfolgreich zu erstellen.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| XMLStreamingAPI | Streaming-XML-Objekt zum Erstellen der Nutzlast. |
Das folgende Beispiel zeigt, wie ein XML-Dokument erstellt wird, 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 startElement()- Methode, um ein Start-Tag hinzuzufügen.
- Verwenden Sie die endElement()- Methode, 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 mit dem Namen address erstellt und dann vier untergeordnete Elemente geschrieben 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 Methode getAttachementId() in der XMLStreamingBuilder -Klasse auf. Weitere Informationen finden Sie unter XMLStreamingBuilder – Scoped.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | XML-Dokument, das mit den XMLStreamingAPI- Methoden erstellt wurde, als Zeichenfolge. |
Das folgende Beispiel zeigt, wie ein XML-Dokument erstellt und dann als Zeichenfolge zurückgegeben wird.
(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)
Beginnt mit dem Erstellen eines XML-Dokuments.
Rufen Sie nach dem Aufruf der build() -Methode die startDocument()- Methode auf, um mit der Organisation Ihres XML-Dokuments zu beginnen. Sie müssen auch die endDocument- Methode am Ende der Dokumentstruktur 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 ein XML-Dokument erstellt wird, 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(String name, Object namespaceMap, Object attributeMap, String prefix)
Fügt ein Start-Tag für ein XML-Element hinzu.
- Verwenden Sie die startElement()- Methode, um ein Start-Tag hinzuzufügen.
- Verwenden Sie die endElement()- Methode, 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 der Schlüssel und Werte 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 mit dem Namen address erstellt und dann vier untergeordnete Elemente geschrieben 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 wrapElement)
Fügt Ihrem Streaming-XML-Dokument eine Liste verschachtelter Elemente mit vordefiniertem Text hinzu.
Nach dem Aufruf der startDocument() -Methode können Sie die writeArray()- Methode aufrufen, um Ihrem Streaming-XML-Dokument einen Block verschachtelter 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 wrappingElementverschachtelten Element zugewiesen werden sollen. |
| wrapElement | Zeichenfolge | Übergeordnetes Element, das jeweils elementNameenthält. |
| Typ | Beschreibung |
|---|---|
| XMLStreamingAPI | Streaming-XML-Objekt zum Erstellen der Nutzlast. |
Das folgende Beispiel zeigt, wie Sie ein übergeordnetes Element mit dem Namen „officeLocations“ erstellen und dann ein Array von fünf Elementen des Typs „ city “ verschachteln.
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(String name, String value)
Fügt einem Element in Ihrem XML-Dokument ein Attribut hinzu.
Nach dem Aufruf der Methode startDocument(), startElement()oder writeTextElement() können Sie die Methode writeAttribute() aufrufen, um dem zugeordneten 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 Element employee das Attribut 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 Attribute zu einem Element in Ihrem XML-Dokument hinzu.
Nach dem Aufruf der Methode startDocument(), startElement()oder writeTextElement() können Sie die Methode writeAttributes() aufrufen, um dem zugeordneten 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 employeedie Attribute idNumber, officeLocationundDepartment 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(String data)
Fügt CDATA zu Ihrem XML-Dokument hinzu.
Nach dem Aufruf der Methode writeCData() können Sie die Methode writeCData() aufrufen, um CDATA innerhalb des Elements hinzuzufügen.
| Name | Typ | Beschreibung |
|---|---|---|
| data | Zeichenfolge | Wert, der nach dem CDATA-Schlüsselwort 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(String name, String data, Object prefix)
Fügt Ihrem XML-Dokument ein CDATA-Element hinzu.
Nach dem Aufruf 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, nach denen 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 mit writeNamespace()einem Namespace zuordnen. |
| Typ | Beschreibung |
|---|---|
| XMLStreamingAPI | Streaming-XML-Objekt zum Erstellen der Nutzlast. |
In diesem Beispiel wird eine Dokumenttypdefinition mit dem Namen 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 Textwerten zu Elementen in Ihrem XML-Dokument 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(String comment)
Fügt Ihrem XML-Dokument einen Kommentar hinzu.
Nach dem Aufruf der startDocument() -Methode können Sie die writeComment()- Methode aufrufen, um Ihrem XML-Dokument einen Kommentar hinzuzufügen.
| Name | Typ | Beschreibung |
|---|---|---|
| Anmerkung | Zeichenfolge | Kommentartext, der eingefügt werden soll. |
| Typ | Beschreibung |
|---|---|
| XMLStreamingAPI | Streaming-XML-Objekt zum Erstellen der Nutzlast. |
Das folgende Beispiel zeigt, wie Sie einem XML-Dokument einen Kommentar 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')
.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 Aufruf 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 dem Namen 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(String prefix, String namespaceURI)
Fügt einem Element in Ihrem XML-Dokument einen Namespace hinzu.
Nach dem Aufruf der Methode startDocument(), startElement()oder writeTextElement() können Sie die Methode writeNamespace() aufrufen, um dem zugeordneten 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 „ company “ 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 Ihres XML-Dokuments Namespaces hinzu.
Nach dem Aufruf 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 zugeordnet werden sollen. Beispiel: |
| Typ | Beschreibung |
|---|---|
| XMLStreamingAPI | Streaming-XML-Objekt zum Erstellen der Nutzlast. |
In diesem Beispiel werden dem Stammelement „company“ zwei Namespaces und URIs hinzugefügt. 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(String name, String text, Object prefix)
Fügt Ihrem XML-Dokument ein einzelnes XML-Element hinzu.
Nach dem Aufruf 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 mit writeNamespace()einem Namespace zuordnen. |
| Typ | Beschreibung |
|---|---|
| XMLStreamingAPI | Streaming-XML-Objekt zum Erstellen der Nutzlast. |
Das folgende Beispiel zeigt, wie ein XML-Dokument erstellt wird, 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();
}