---
sourceDocument: Xanadu-API-Referenz
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/de-DE/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - de-DE

ft:publication_title :

    - Xanadu-API-Referenz

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# XMLStreamingBuilder: Bereichsbezogen

# XMLStreamingBuilder: Bereichsbezogen {#ariaid-title1}

* Freigeben Version: Xanadu
* 
* Aktualisiert 1. August 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 6 Minuten Lesedauer

Erstellt ein Builder-Objekt zum Erstellen einer großen 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.
Verwenden Sie diese Methoden in einem Workflow-Studio`-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](https://www.servicenow.com/docs/access?context=javascript-step-action-designer&version=xanadu&pubname=xanadu-build-workflows&ft:locale=en-US).  
Hinweis:  
Sie können diese API nur in der Umgebung Workflow-Studio verwenden.

## API-Aufrufreihenfolge {#XMLStreamingBuilderScopedAPI__section_j2q_1ll_jlb}

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:  
    1. XMLStreamingBuilder(): Instanziiert das XMLStreamingBuilder-Objekt.
    2. 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.
    3. RunesAt(): Optional. Legt eine Uhrzeit fest, nach der der Anhang abläuft. Die Standardeinstellung ist „falsch". Muss auch withAttachment()- Methode aufrufen.
    4. build(): Gibt ein XMLStreamingAPI-Objekt zurück.
    {#XMLStreamingBuilderScopedAPI__ol_gvr_k2k_jlb}

2. XMLStreamingAPI: Erstellt die XML-Nutzlast
:   Verwenden Sie diese Methoden in der folgenden Reihenfolge, um die XML-Nutzlast zu erstellen:  
    1. startDocument(): Erstellt das übergeordnete Element der obersten Ebene im XML-Dokument.
    2. Methoden zum Generieren von untergeordneten Elementen im XML-Dokument, z. B. writeTextElement(), startElement()und writeArray().
    3. Methoden zum Generieren von Attributen für ein Element, z. B. writeAttribute(), writeNamespace()und writeDtd().
    4. endElement(): Schließt ein XML-Element.
    5. endDocument: Schließt das übergeordnete Element der obersten Ebene.
    6. getXMLString() oder getAttachmentId(): Gibt die von Ihnen erstellte XML-Zeichenfolge oder Anhangs-ID zurück.
    7. close(): Schließt das XMLStreamingAPI-Objekt.
    {#XMLStreamingBuilderScopedAPI__ol_hvr_k2k_jlb}

## Größenbeschränkungen {#XMLStreamingBuilderScopedAPI__section_vrl_jvs_1mb}

Über diese API generierte Nutzlasten dürfen diese Größenbeschränkungen nicht überschreiten:  
* Anhänge: 200 MB
* Zeichenfolgen: 5 MB
{#XMLStreamingBuilderScopedAPI__ul_llq_msw_3lb}  
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>

## XMLStreamingBuilder: XMLStreamingBuilder() {#ariaid-title2}

Instanziiert das XMLStreamingBuilder-Objekt.
{#XSB-XMLStreamingBuilder__table_ogh_vhz_clb__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| Keine |   |   |
[Tabelle : 1. Parameter]

{#XSB-XMLStreamingBuilder__table_ogh_vhz_clb}  
In diesem Beispiel wird gezeigt, wie ein `Builder` -Objekt instanziiert wird.

    var builder = new sn_ih.XMLStreamingBuilder()

## XMLStreamingBuilder -- build() {#ariaid-title3}

Gibt ein XMLStreamingAPI-Objekt zurück.
{#XSB-build__table_cr5_yms_jlb__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| Keine |   |   |
[Tabelle : 2. Parameter]

{#XSB-build__table_cr5_yms_jlb} {#XSB-build__table_dr5_yms_jlb__entry__2}

| Typ | Beschreibung |
|-|-|
| XMLStreamingAPI | Streaming-XML-Objekt zum Erstellen der Nutzlast. |
[Tabelle : 3. Ergebnisse]

{#XSB-build__table_dr5_yms_jlb}  
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();
    }

## XMLStreamingBuilder -- ExpiresAt(Object ExpiresAt) {#ariaid-title4}

Legt eine Uhrzeit fest, nach der der Anhang abläuft. Muss auch withAttachment()- Methode aufrufen.
{#XSB-expiresAt_O__table_kc4_25s_jlb__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| läuft um ab | [GlideDateTime](https://servicenow-prod.fluidtopics.net/u_rnp1jEndqk~Xtn_6vx_Q#c_GlideDateTimeScoped "Die bereichsbezogene GlideDateTime -Klasse bietet Methoden zum Ausführen von Vorgängen für GlideDateTime-Objekte.") | Objekt, das festgelegt wird, wenn der Anhang abläuft. * Mindestwert: 7200 Sekunden oder zwei Stunden ab Erstellung des Anhangs. Dies ist der Standardwert, wenn Sie die ExpiresAt()- Methode nicht aufrufen. * Höchstwert: 172.800 Sekunden oder 48 Stunden ab Erstellung des Anhangs. {#XSB-expiresAt_O__ul_xsc_trx_3lb} |
[Tabelle : 4. Parameter]

{#XSB-expiresAt_O__table_kc4_25s_jlb} {#XSB-expiresAt_O__table_lc4_25s_jlb__entry__2}

| Typ | Beschreibung |
|-|-|
| XMLStreamingBuilder | Builder-Objekt, das zum Initiieren der XML-Nutzlast verwendet wird. |
[Tabelle : 5. Ergebnisse]

{#XSB-expiresAt_O__table_lc4_25s_jlb}  
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();
    }

## XMLStreamingBuilder -- withAttachment() {#ariaid-title5}

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 das XML-Dokument als Zeichenfolge.
{#XSB-withAttachment__table_oqn_zps_jlb__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| Keine |   |   |
[Tabelle : 6. Parameter]

{#XSB-withAttachment__table_oqn_zps_jlb} {#XSB-withAttachment__table_pqn_zps_jlb__entry__2}

| Typ | Beschreibung |
|-|-|
| XMLStreamingBuilder | Builder-Objekt, das zum Initiieren der XML-Nutzlast verwendet wird. |
[Tabelle : 7. Ergebnisse]

{#XSB-withAttachment__table_pqn_zps_jlb}  
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();
    }

In diesem Beispiel wird gezeigt, wie die XML-Nutzlast erstellt und als Zeichenfolge gespeichert 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>


