XMLStreamingAPI – Scoped

  • Freigeben Version: Washingtondc
  • Aktualisiert 1. Februar 2024
  • 14 Minuten Lesedauer
  • 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.

    Verwenden Sie diese Methoden in einem Flow Designer-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.
    Hinweis:
    Sie können diese API nur in der Umgebung Flow Designer verwenden.

    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:
    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. expresAt(): Optional. Legt eine Uhrzeit fest, zu der der Anhang abläuft. False ist die Standardeinstellung. Muss auch die Methode withAttachment() aufrufen.
    4. 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:
    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.

    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.

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 2. Ergebnisse
    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.

    Tabelle : 3. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 4. Ergebnisse
    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.

    Tabelle : 5. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 6. Ergebnisse
    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.

    Tabelle : 7. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 8. Ergebnisse
    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 folgenden Methoden in dieser Reihenfolge, um ein gültiges XML-Element zu erstellen:
    1. Verwenden Sie die startElement()- Methode, um ein Start-Tag hinzuzufügen.
    2. Verwenden Sie die endElement()- Methode, um das schließende Tag hinzuzufügen.
    Tabelle : 9. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 10. Ergebnisse
    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.

    Tabelle : 11. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 12. Ergebnisse
    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.

    Tabelle : 13. Parameter
    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:
    {
    'namespaceOne':'namespaceValue',
    'namespaceTwo':'namespaceValue'
    }
    Tabelle : 14. Ergebnisse
    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 folgenden Methoden in dieser Reihenfolge, um ein gültiges XML-Element zu erstellen:
    1. Verwenden Sie die startElement()- Methode, um ein Start-Tag hinzuzufügen.
    2. Verwenden Sie die endElement()- Methode, um das schließende Tag hinzuzufügen.
    Tabelle : 15. Parameter
    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:
    {
    'namespaceOne':'namespaceValue',
    'namespaceTwo':'namespaceValue'
    }
    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.
    Tabelle : 16. Ergebnisse
    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.

    Tabelle : 17. Parameter
    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.
    Tabelle : 18. Ergebnisse
    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.

    Tabelle : 19. Parameter
    Name Typ Beschreibung
    Name Zeichenfolge Name des Attributs des XML-Elements.
    Wert Zeichenfolge Wert für das Attribut des XML-Elements.
    Tabelle : 20. Ergebnisse
    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.

    Tabelle : 21. Parameter
    Name Typ Beschreibung
    attributeMap Objekt Zuordnung von Schlüsseln und Werten, die Attributnamen und -werte enthalten, die dem XML-Element zugeordnet werden sollen. Beispiel:
    {
    'attributeOne':'attributeValue',
    'attributeTwo':'attributeValue'
    }
    Tabelle : 22. Ergebnisse
    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.

    Tabelle : 23. Parameter
    Name Typ Beschreibung
    data Zeichenfolge Wert, der nach dem CDATA-Schlüsselwort in Ihr CDATA-Element aufgenommen werden soll.
    Tabelle : 24. Ergebnisse
    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.

    Tabelle : 25. Parameter
    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:
    {
    'prefixOne':'prefixValue',
    'prefixTwo':'prefixValue'
    }
    Sie müssen das Präfix eines XML-Elements mit writeNamespace()einem Namespace zuordnen.
    Tabelle : 26. Ergebnisse
    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.

    Tabelle : 27. Parameter
    Name Typ Beschreibung
    text Zeichenfolge Text, der einem Abschnitt Ihres XML-Dokuments hinzugefügt werden soll.
    Tabelle : 28. Ergebnisse
    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.

    Tabelle : 29. Parameter
    Name Typ Beschreibung
    Anmerkung Zeichenfolge Kommentartext, der eingefügt werden soll.
    Tabelle : 30. Ergebnisse
    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.

    Tabelle : 31. Parameter
    Name Typ Beschreibung
    dtd Zeichenfolge Name einer gültigen XML-Dokumenttypdefinition.
    Tabelle : 32. Ergebnisse
    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.

    Tabelle : 33. Parameter
    Name Typ Beschreibung
    Präfix Zeichenfolge Präfix für den XML-Namespace.
    namespaceURI Zeichenfolge Optional. URI für den Namespace.
    Tabelle : 34. Ergebnisse
    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.

    Tabelle : 35. Parameter
    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:
    {
    'namespaceOne':'namespaceValue',
    'namespaceTwo':'namespaceValue'
    }
    Tabelle : 36. Ergebnisse
    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.

    Tabelle : 37. Parameter
    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:
    {
    'prefixOne':'prefixValue',
    'prefixTwo':'prefixValue'
    }
    Sie müssen das Präfix eines XML-Elements mit writeNamespace()einem Namespace zuordnen.
    Tabelle : 38. Ergebnisse
    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();
    }