XMLStreamingAPI : inclus dans le périmètre

  • Rversion finale: Zurich
  • Mis à jour 31 juil. 2025
  • 16 minutes de lecture
  • Génère une charge utile XML de diffusion volumineuse à utiliser dans une demande REST ou SOAP pour envoyer des données en bloc à une API tierce. Vous pouvez également créer la charge utile en tant que chaîne XML pour une option de non-diffusion.

    Utilisez ces méthodes dans une Studio de workflow étape de script avec l’identificateur d’espace de noms sn_ih. Par exemple, vous pouvez utiliser cette API pour créer une charge utile XML à l’étape Studio de workflow Script et transmettre la valeur renvoyée à l’étape REST pour envoyer la demande à un service tiers. Pour plus d’informations, consultez Studio de workflow l’étape Script.
    Remarque :
    Vous ne pouvez utiliser cette API qu’au sein de l’environnement Studio de workflow .

    Il n’existe aucun constructeur pour cette classe. Au lieu de cela, vous devez appeler la méthode build() dans la classe XMLStreamingBuilder pour retourner un objet XMLStreamingAPI.

    Ordre d’appel d’API

    Générez des charges utiles XML en instanciant d’abord un objet de générateur avec XMLStreamingBuilder , puis en appelant les méthodes de la classe XMLStreamingAPI :

    1. XMLStreamingBuilder : crée un objet de générateur
    Utilisez ces méthodes dans l’ordre suivant pour créer un objet générateur :
    1. XMLStreamingBuilder() : instancie l’objet XMLStreamingBuilder.
    2. withAttachment() : facultatif. Crée un document XML en tant que pièce jointe et le stocke dans la table Pièces jointes en flux continu [streaming_attachment]. Si vous n’appelez pas cette méthode, l’API construit la charge utile sous forme de chaîne XML.
    3. expiresAt() : facultatif. Définit une date d’expiration de la pièce jointe. Faux est la valeur par défaut. Doit également appeler la méthode withAttachment( ).
    4. build() : Renvoie un objet XMLStreamingAPI.
    2. XMLStreamingAPI : génère la charge utile XML
    Utilisez ces méthodes dans l’ordre suivant pour créer la charge utile XML :
    1. startDocument() : crée l’élément parent de niveau supérieur dans le document XML.
    2. Méthodes permettant de générer des éléments enfants dans le document XML, telles que writeTextElement(), startElement() et writeArray().
    3. Méthodes permettant de générer des attributs pour un élément, tels que writeAttribute(), writeNamespace() et writeDtd().
    4. endElement() : Ferme un élément XML.
    5. endDocument : ferme l’élément parent de niveau supérieur.
    6. getXMLString() ou getAttachmentId() : renvoie la chaîne XML ou l’ID de pièce jointe que vous avez créé.
    7. close() : ferme l’objet XMLStreamingAPI.

    Limites de taille

    Les charges utiles générées via cette API ne peuvent pas dépasser ces limites de taille :

    • Pièces jointes : 200 Mo
    • Chaînes : 5 Mo

    L’exemple suivant montre comment créer un document XML et le stocker dans la table Pièces jointes en continu [streaming_attachment] avec une date d’expiration définie.

    
    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();
    }

    Alternativement, cet exemple montre comment utiliser l’API dans l’étape Script et créer la charge utile en tant que chaîne XML. Vous pouvez utiliser cette option pour créer des charges utiles de moins de 5 Mo.

    (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);

    Sortie :

    <?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()

    Ferme l’objet XMLStreamingAPI. Vous devez appeler cette méthode pour fermer le flux après la création de votre document XML.

    Tableau 1. Paramètres
    Nom Type Description
    Aucun
    Tableau 2. Renvoie
    Type Description
    nul

    Exemple

    L’exemple suivant montre comment créer un document XML et le stocker dans la table Pièces jointes en continu [streaming_attachment] avec une date d’expiration définie.

    
    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()

    Met fin à un joli formatage XML imprimé.

    Avant d’appeler cette méthode, vous devez d’abord appeler enablePrettyPrint() pour ajouter un formatage XML à une section.

    Tableau 3. Paramètres
    Nom Type Description
    Aucun
    Tableau 4. Renvoie
    Type Description
    XMLStreamingAPI Objet XML de diffusion en continu pour la construction de la charge utile.

    L’exemple suivant montre comment ajouter un joli formatage d’impression à l’élément address .

    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()

    Ajoute une jolie mise en forme d’impression à un élément XML ou à une arborescence d’éléments.

    Utilisez la méthode disablePrettyPrint() pour terminer la mise en forme.

    Tableau 5. Paramètres
    Nom Type Description
    Aucun
    Tableau 6. Renvoie
    Type Description
    XMLStreamingAPI Objet XML de diffusion en continu pour la construction de la charge utile.

    L’exemple suivant montre comment ajouter un joli formatage d’impression à l’élément address .

    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()

    Termine la structure de votre document XML.

    Après avoir appelé la méthode startDocument() et organisé votre document XML de streaming, appelez la méthode endDocument() à la fin de la structure de votre document. Vous devez utiliser ces deux méthodes ensemble pour réussir à construire la structure de votre document XML de streaming.

    Tableau 7. Paramètres
    Nom Type Description
    Aucun
    Tableau 8. Renvoie
    Type Description
    XMLStreamingAPI Objet XML de diffusion en continu pour la construction de la charge utile.

    L’exemple suivant montre comment créer un document XML contenant des éléments concernant un utilisateur.

    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()

    Ajoute une balise de fermeture à un élément XML.

    Utilisez les méthodes suivantes dans cette séquence pour créer un élément XML valide :
    1. Utilisez la méthode startElement() pour ajouter une balise de démarrage.
    2. Utilisez la méthode endElement() pour ajouter la balise de fermeture.
    Tableau 9. Paramètres
    Nom Type Description
    Aucun
    Tableau 10. Renvoie
    Type Description
    XMLStreamingAPI Objet XML de diffusion en continu pour la construction de la charge utile.

    L’exemple suivant montre comment créer un élément parent nommé adresse , puis écrire quatre éléments enfants.

    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()

    Renvoie le document XML sous forme de chaîne.

    Pour renvoyer le document XML sous forme de chaîne, n’appelez pas la méthode getAttachementId() dans la classe XMLStreamingBuilder . Pour plus d’informations, consultez XMLStreamingBuilder - Scoped.

    Tableau 11. Paramètres
    Nom Type Description
    Aucun
    Tableau 12. Renvoie
    Type Description
    Chaîne Document XML créé à l’aide des méthodes XMLStreamingAPI , sous forme de chaîne.

    L’exemple suivant montre comment créer un document XML, puis le renvoyer sous forme de chaîne.

    (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);

    Sortie :

    <?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)

    Commence la création d’un document XML.

    Après avoir appelé la méthode build(), appelez la méthode startDocument() pour commencer à organiser votre document XML. Vous devez également appeler la méthode endDocument à la fin de la structure de votre document.

    Tableau 13. Paramètres
    Nom Type Description
    rootElement Chaîne Facultatif. Élément racine, ou élément parent de niveau supérieur, pour votre document XML.
    namespaceDefinitionMap Objet Facultatif. Mappage des clés et des valeurs pour les espaces de noms et leurs valeurs associées dans une liste d’éléments ultérieure. Par exemple :
    {
    'namespaceOne':'namespaceValue',
    'namespaceTwo':'namespaceValue'
    }
    Tableau 14. Renvoie
    Type Description
    XMLStreamingAPI Objet XML de diffusion en continu pour la construction de la charge utile.

    L’exemple suivant montre comment créer un document XML contenant des éléments contenant des informations sur un employé.

    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(nom de chaîne, Object namespaceMap, Object attributeMap, préfixe de chaîne)

    Ajoute une balise de démarrage pour un élément XML.

    Utilisez les méthodes suivantes dans cette séquence pour créer un élément XML valide :
    1. Utilisez la méthode startElement() pour ajouter une balise de démarrage.
    2. Utilisez la méthode endElement() pour ajouter la balise de fermeture.
    Tableau 15. Paramètres
    Nom Type Description
    nom Chaîne Nom de l’élément XML.
    carte d’espace de noms Objet Facultatif. Mappage des clés et des valeurs pour les espaces de noms et leurs valeurs associées dans une liste d’éléments ultérieure. Par exemple :
    {
    'namespaceOne':'namespaceValue',
    'namespaceTwo':'namespaceValue'
    }
    Carte attribut Objet Facultatif. Mappage des clés et des valeurs pour les attributs et leurs valeurs associées dans une liste d’éléments ultérieure.
    Préfixe Chaîne Facultatif. Préfixe de l’élément XML.
    Tableau 16. Renvoie
    Type Description
    XMLStreamingAPI Objet XML de diffusion en continu pour la construction de la charge utile.

    L’exemple suivant montre comment créer un élément parent nommé adresse , puis écrire quatre éléments enfants.

    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)

    Ajoute une liste d’éléments imbriqués avec du texte prédéfini à votre document XML de diffusion.

    Après avoir appelé la méthode startDocument( ), vous pouvez appeler la méthode writeArray() pour ajouter un bloc d’éléments imbriqués à votre document XML de streaming.

    Tableau 17. Paramètres
    Nom Type Description
    elementName Chaîne Nom de l’élément XML associé à chaque chaîne répertoriée dans le data tableau.
    données Tableau Liste des valeurs à affecter à chaque élément imbriqué à l’intérieur wrappingElement.
    wrappingElement Chaîne Élément parent contenant chaque elementNamefichier .
    Tableau 18. Renvoie
    Type Description
    XMLStreamingAPI Objet XML de diffusion en continu pour la construction de la charge utile.

    L’exemple suivant montre comment créer un élément parent nommé officeLocations, puis imbriquer un tableau de cinq éléments de ville .

    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(nom de chaîne, valeur de chaîne)

    Ajoute un attribut à un élément dans votre document XML.

    Après avoir appelé la méthode startDocument(),startElement() ou writeTextElement(), vous pouvez appeler la méthode writeAttribute() pour ajouter un attribut à l’élément XML associé.

    Tableau 19. Paramètres
    Nom Type Description
    nom Chaîne Nom de l’attribut de l’élément XML.
    valide Chaîne Valeur de l’attribut de l’élément XML.
    Tableau 20. Renvoie
    Type Description
    XMLStreamingAPI Objet XML de diffusion en continu pour la construction de la charge utile.

    Cet exemple ajoute un attribut nommé idNumber à l’élément employee .

    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)

    Ajoute des attributs à un élément dans votre document XML.

    Après avoir appelé la méthode startDocument(),startElement() ou writeTextElement(), vous pouvez appeler la méthode writeAttributes() pour ajouter des attributs à l’élément XML associé.

    Tableau 21. Paramètres
    Nom Type Description
    Carte attribut Objet Carte des clés et des valeurs contenant des noms d’attributs et des valeurs à associer à l’élément XML. Par exemple :
    {
    'attributeOne':'attributeValue',
    'attributeTwo':'attributeValue'
    }
    Tableau 22. Renvoie
    Type Description
    XMLStreamingAPI Objet XML de diffusion en continu pour la construction de la charge utile.

    Cet exemple ajoute les attributs idNumber, officeLocation et department à l’élément employee .

    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 (données de chaîne)

    Ajoute CDATA à votre document XML.

    Après avoir appelé la méthode writeCDataElement(), vous pouvez appeler la méthode writeCData() pour ajouter CDATA dans l’élément.

    Tableau 23. Paramètres
    Nom Type Description
    données Chaîne Valeur à inclure après le mot clé CDATA dans votre élément CDATA.
    Tableau 24. Renvoie
    Type Description
    XMLStreamingAPI Objet XML de diffusion en continu pour la construction de la charge utile.

    Cet exemple ajoute CDATA à l’élément CDATA timeWorked.

    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(nom de chaîne, données de chaîne, préfixe d’objet)

    Ajoute un élément CDATA à votre document XML.

    Après avoir appelé la méthode startDocument(), vous pouvez appeler la méthode writeCDataElement() pour ajouter un élément CDATA à votre document XML.

    Tableau 25. Paramètres
    Nom Type Description
    nom Chaîne Nom de l’élément CDATA.
    données Chaîne Facultatif. Type de données pour analyser l’élément CDATA comme.
    Préfixe Objet Facultatif. Carte des éléments enfants et des valeurs que l’élément CDATA inclut. Par exemple :
    {
    'prefixOne':'prefixValue',
    'prefixTwo':'prefixValue'
    }
    Vous devez associer le préfixe d’un élément XML à un espace de noms à l’aide de writeNamespace().
    Tableau 26. Renvoie
    Type Description
    XMLStreamingAPI Objet XML de diffusion en continu pour la construction de la charge utile.

    Cet exemple utilise une définition de type de document nommée adresse pour définir une définition de type de document interne pour le document XML.

    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(texte de chaîne)

    Ajoute du texte à votre document XML.

    Utilisez la méthode writeCharacters() pour insérer des données de chaîne dans une section de votre document XML.

    Tableau 27. Paramètres
    Nom Type Description
    Texte Chaîne Texte à ajouter à une section de votre document XML.
    Tableau 28. Renvoie
    Type Description
    XMLStreamingAPI Objet XML de diffusion en continu pour la construction de la charge utile.

    L’exemple suivant montre comment ajouter des valeurs de texte aux éléments de votre document XML.

    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(commentaire de chaîne)

    Ajoute un commentaire à votre document XML.

    Après avoir appelé la méthode startDocument(), vous pouvez appeler la méthode writeComment() pour ajouter un commentaire à votre document XML.

    Tableau 29. Paramètres
    Nom Type Description
    commentaire Chaîne Texte du commentaire à inclure.
    Tableau 30. Renvoie
    Type Description
    XMLStreamingAPI Objet XML de diffusion en continu pour la construction de la charge utile.

    L’exemple suivant montre comment ajouter un commentaire à un document XML.

    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(chaîne dtd)

    Ajoute une définition de type de document à votre document XML.

    Après avoir appelé la méthode startDocument( ), vous pouvez appeler la méthode writeDtd() pour ajouter une définition de type de document XML valide à votre document XML.

    Tableau 31. Paramètres
    Nom Type Description
    Dtd Chaîne Nom d’une définition de type de document XML valide.
    Tableau 32. Renvoie
    Type Description
    XMLStreamingAPI Objet XML de diffusion en continu pour la construction de la charge utile.

    Cet exemple utilise une définition de type de document nommée adresse pour définir une définition de type de document interne pour le document XML.

    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(préfixe de chaîne, chaîne namespaceURI)

    Ajoute un espace de noms à un élément dans votre document XML.

    Après avoir appelé la méthode startDocument(),startElement() ou writeTextElement(), vous pouvez appeler la méthode writeNamespace() pour ajouter un espace de noms à l’élément XML associé.

    Tableau 33. Paramètres
    Nom Type Description
    Préfixe Chaîne Préfixe de l’espace de noms XML.
    espace de nomsURI Chaîne Facultatif. URI de l’espace de noms.
    Tableau 34. Renvoie
    Type Description
    XMLStreamingAPI Objet XML de diffusion en continu pour la construction de la charge utile.

    L’exemple suivant montre comment ajouter un espace de noms et un URI à l’élément racine de société , puis affecter le préfixe à l’élément companyName imbriqué.

    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)

    Ajoute des espaces de noms à l’élément racine dans votre document XML.

    Après avoir appelé la méthode startDocument() ou startElement(), vous pouvez appeler la méthode writeNamespaces() pour déclarer des espaces de noms pour l’élément XML associé.

    Tableau 35. Paramètres
    Nom Type Description
    carte d’espace de noms Objet Carte de clés et de valeurs contenant des préfixes d’espace de noms et des URI à associer à l’élément racine du document XML. Par exemple :
    {
    'namespaceOne':'namespaceValue',
    'namespaceTwo':'namespaceValue'
    }
    Tableau 36. Renvoie
    Type Description
    XMLStreamingAPI Objet XML de diffusion en continu pour la construction de la charge utile.

    Cet exemple ajoute deux espaces de noms et URI à l’élément racine de société , puis affecte les préfixes appropriés aux éléments imbriqués.

    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(nom de chaîne, texte de chaîne, préfixe d’objet)

    Ajoute un seul élément XML à votre document XML.

    Après avoir appelé la méthode startDocument(), vous pouvez appeler la méthode writeTextElement() pour ajouter un seul élément XML à la structure de votre document XML.

    Tableau 37. Paramètres
    Nom Type Description
    nom Chaîne Nom de l’élément XML.
    Texte Chaîne Valeur de l’élément XML.
    Préfixe Objet Facultatif. Carte des préfixes et des valeurs associés à l’élément XML. Par exemple :
    {
    'prefixOne':'prefixValue',
    'prefixTwo':'prefixValue'
    }
    Vous devez associer le préfixe d’un élément XML à un espace de noms à l’aide de writeNamespace().
    Tableau 38. Renvoie
    Type Description
    XMLStreamingAPI Objet XML de diffusion en continu pour la construction de la charge utile.

    L’exemple suivant montre comment créer un document XML contenant trois éléments contenant des informations sur un employé.

    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();
    }