XMLStreamingAPI - Com escopo

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 16 min. de leitura
  • Cria uma carga XML de fluxo grande para uso em uma solicitação REST ou SOAP para enviar dados em massa para uma API de terceiros. Você também pode criar a carga como uma cadeia de caracteres XML para uma opção de não fluxo.

    Use esses métodos em um Workflow Studio Etapa de script com sn_ih identificador de namespace. Por exemplo, você pode usar esta API para criar uma carga XML no Workflow Studio Etapa de script e passe o valor retornado para a etapa REST para enviar a solicitação a um serviço de terceiros. Para obter mais informações, consulte Workflow Studio Etapa de script .
    Nota:
    Você só pode usar esta API no Workflow Studio ambiente.

    Não há construtor para esta classe. Em vez disso, você deve chamar compilação () método no XMLStreamingBuilder Classe para retornar um objeto XMLStreamingAPI.

    Ordem de chamada de API

    Gere cargas XML primeiro instanciando um objeto do construtor com XMLStreamingBuilder e, em seguida, chamando os métodos no XMLStreamingAPI classe:

    1. XMLStreamingBuilder Cria um objeto do construtor
    Use este método na seguinte ordem para criar um objeto do construtor:
    1. XMLStreamingBuilder() : Instancia o objeto XMLStreamingBuilder.
    2. Com anexo () : Opcional. Cria um documento XML como um anexo e o armazena na tabela Anexos de fluxo [streaming_attachment]. Se você não chamar esse método, a API criará a carga como uma cadeia de caracteres XML.
    3. ExpiresAt() : Opcional. Define um horário em que o anexo expira. Falso é o padrão. Também deve chamar Com anexo () método.
    4. compilação () : Retorna um objeto XMLStreamingAPI.
    2. XMLStreamingAPI Cria a carga XML
    Use estes métodos na seguinte ordem para criar a carga XML:
    1. StartDocument() : Cria o elemento primário de nível superior no documento XML.
    2. Métodos para gerar elementos secundários no documento XML, como WriteTexElement() , StartElement() e WriteArray() .
    3. Métodos para gerar atributos para um elemento, como WriteAttribute() , WriteNamespace() e WriteDtd() .
    4. EndElement() : Fecha um elemento XML.
    5. EndDocument : Fecha o elemento primário de nível superior.
    6. GetXMLString() ou GetAttachmentId() Retorna a cadeia de caracteres XML ou o ID de anexo que você criou.
    7. fechar() : Fecha o objeto XMLStreamingAPI.

    Limites de tamanho

    As cargas geradas por meio desta API não podem exceder estes limites de tamanho:

    • Anexos: 200 MB
    • Cadeias de caracteres: 5 MB

    O exemplo a seguir mostra como criar um documento XML e armazená-lo na tabela Anexos de fluxo [streaming_attachment] com uma data de expiração definida.

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

    Como alternativa, este exemplo mostra como usar a API na etapa Script e criar a carga como uma cadeia de caracteres XML. Você pode usar esta opção para criar cargas em 5 MB .

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

    Saída:

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

    Fecha o objeto XMLStreamingAPI. Você deve chamar este método para fechar o fluxo depois de criar seu documento XML.

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 2. Retorna
    Tipo Descrição
    vazio

    Exemplo

    O exemplo a seguir mostra como criar um documento XML e armazená-lo na tabela Anexos de fluxo [streaming_attachment] com uma data de expiração definida.

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

    Termina a formatação XML de impressão bonita.

    Antes de chamar este método, você deve primeiro chamar PrettyPrint() Para adicionar formatação XML a uma seção.

    Tabela 3. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 4. Retorna
    Tipo Descrição
    XMLStreamingAPI Fluxo de objeto XML para construir a carga.

    O exemplo a seguir mostra como adicionar formatação de impressão bonita ao endereço elemento.

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

    Adiciona formatação de impressão bonita a um elemento XML ou árvore de elementos.

    Use DisablePrettyPrint() método para encerrar a formatação.

    Tabela 5. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 6. Retorna
    Tipo Descrição
    XMLStreamingAPI Fluxo de objeto XML para construir a carga.

    O exemplo a seguir mostra como adicionar formatação de impressão bonita ao endereço elemento.

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

    Encerra a estrutura do seu documento XML.

    Depois de ligar para StartDocument() E Organizando seu documento XML de fluxo, chame EndDocument() método no final da estrutura do documento. Você deve usar esses dois métodos juntos para criar com sucesso a estrutura do documento XML de fluxo.

    Tabela 7. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 8. Retorna
    Tipo Descrição
    XMLStreamingAPI Fluxo de objeto XML para construir a carga.

    O exemplo a seguir mostra como criar um documento XML que contém elementos sobre um usuário.

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

    Adiciona um marcador de fechamento a um elemento XML.

    Nesta sequência, use os seguintes métodos para criar um elemento XML válido:
    1. Use StartElement() método para adicionar um marcador inicial.
    2. Use EndElement() método para adicionar o marcador de fechamento.
    Tabela 9. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 10. Retorna
    Tipo Descrição
    XMLStreamingAPI Fluxo de objeto XML para construir a carga.

    O exemplo a seguir mostra como criar um elemento primário chamado endereço e, em seguida, escreva quatro elementos secundários.

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

    Retorna o documento XML como uma cadeia de caracteres.

    Para retornar o documento XML como uma cadeia de caracteres, não chame GetAttachementId() método no XMLStreamingBuilder classe. Para obter mais informações, consulte XMLStreamingBuilder - Com escopo .

    Tabela 11. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 12. Retorna
    Tipo Descrição
    Cadeia de caracteres Documento XML criado usando XMLStreamingAPI , como uma cadeia de caracteres.

    O exemplo a seguir mostra como criar um documento XML e, em seguida, retornar como uma cadeia de caracteres.

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

    Saída:

    <?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(cadeia de caracteres rootElement, Object NamespaceDefinitionMap)

    Começa a criar um documento XML.

    Depois de ligar para compilação () , chame StartDocument() Método para começar a organizar seu documento XML. Você também deve chamar EndDocument método no final da estrutura do documento.

    Tabela 13. Parâmetros
    Nome Tipo Descrição
    RootElement Cadeia de caracteres Opcional. Elemento raiz, ou elemento primário de nível superior, para o documento XML.
    NamespaceDefinitionMap Objeto Opcional. Mapa de chaves e valores para os namespaces e seus valores associados em uma lista subsequente de elementos. Por exemplo:
    {
    'namespaceOne':'namespaceValue',
    'namespaceTwo':'namespaceValue'
    }
    Tabela 14. Retornos
    Tipo Descrição
    XMLStreamingAPI Fluxo de objeto XML para construir a carga.

    O exemplo a seguir mostra como criar um documento XML que contém elementos com informações sobre um funcionário.

    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(nome da cadeia de caracteres, Object NamespaceMap, Object attributeMap, prefixo da cadeia de caracteres)

    Adiciona um marcador inicial para um elemento XML.

    Nesta sequência, use os seguintes métodos para criar um elemento XML válido:
    1. Use StartElement() método para adicionar um marcador inicial.
    2. Use EndElement() método para adicionar o marcador de fechamento.
    Tabela 15. Parâmetros
    Nome Tipo Descrição
    nome Cadeia de caracteres Nome do elemento XML.
    NamespaceMap Objeto Opcional. Mapa de chaves e valores para os namespaces e seus valores associados em uma lista subsequente de elementos. Por exemplo:
    {
    'namespaceOne':'namespaceValue',
    'namespaceTwo':'namespaceValue'
    }
    AttributeMap Objeto Opcional. Mapa de chaves e valores para os atributos e seus valores associados em uma lista subsequente de elementos.
    prefixo Cadeia de caracteres Opcional. Prefixo do elemento XML.
    Tabela 16. Retornos
    Tipo Descrição
    XMLStreamingAPI Fluxo de objeto XML para construir a carga.

    O exemplo a seguir mostra como criar um elemento primário chamado endereço e, em seguida, escreva quatro elementos secundários.

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

    Adiciona uma lista de elementos aninhados com texto predefinido ao seu documento XML de fluxo.

    Depois de ligar para StartDocument() , você pode chamar WriteArray() Método para adicionar um bloco de elementos aninhados ao documento XML de fluxo.

    Tabela 17. Parâmetros
    Nome Tipo Descrição
    ElementName Cadeia de caracteres Nome do elemento XML associado a cada cadeia de caracteres listada em datamatriz.
    dados Matriz Lista de valores a serem atribuídos a cada elemento aninhado dentro wrappingElement.
    WrapingElement Cadeia de caracteres Elemento primário que contém cada um elementName.
    Tabela 18. Retornos
    Tipo Descrição
    XMLStreamingAPI Fluxo de objeto XML para construir a carga.

    O exemplo a seguir mostra como criar um elemento primário chamado OfficeLocations e aninhar uma matriz de cinco cidade elementos.

    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 (nome da cadeia de caracteres, valor da cadeia de caracteres)

    Adiciona um atributo a um elemento em seu documento XML.

    Depois de ligar para StartDocument() , StartElement() ou WriteTexElement() , você pode chamar WriteAttribute() Método para adicionar um atributo ao elemento XML associado.

    Tabela 19. Parâmetros
    Nome Tipo Descrição
    nome Cadeia de caracteres Nome do atributo do elemento XML.
    valor Cadeia de caracteres Valor do atributo do elemento XML.
    Tabela 20. Retornos
    Tipo Descrição
    XMLStreamingAPI Fluxo de objeto XML para construir a carga.

    Este exemplo adiciona um atributo chamado ID para funcionário elemento.

    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)

    Adiciona atributos a um elemento em seu documento XML.

    Depois de ligar para StartDocument() , StartElement() ou WriteTexElement() , você pode chamar WriteAttributes() Método para adicionar atributos ao elemento XML associado.

    Tabela 21. Parâmetros
    Nome Tipo Descrição
    AttributeMap Objeto Mapa de chaves e valores que contém nomes e valores de atributo a serem associados ao elemento XML. Por exemplo:
    {
    'attributeOne':'attributeValue',
    'attributeTwo':'attributeValue'
    }
    Tabela 22. Retornos
    Tipo Descrição
    XMLStreamingAPI Fluxo de objeto XML para construir a carga.

    Este exemplo adiciona atributos nomeados ID , OfficeLocation e departamento para funcionário elemento.

    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 (dados de cadeia de caracteres)

    Adiciona CDATA ao seu documento XML.

    Depois de ligar para WriteCDataElement() , você pode chamar WriteCData() Método para adicionar CDATA no elemento.

    Tabela 23. Parâmetros
    Nome Tipo Descrição
    dados Cadeia de caracteres Valor a ser incluído após a palavra-chave CDATA no elemento CDATA.
    Tabela 24. Retornos
    Tipo Descrição
    XMLStreamingAPI Fluxo de objeto XML para construir a carga.

    Este exemplo adiciona CDATA ao elemento CDATA Tempo trabalhado .

    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 (nome da cadeia de caracteres, dados da cadeia de caracteres, prefixo do objeto)

    Adiciona um elemento CDATA ao seu documento XML.

    Depois de ligar para StartDocument() , você pode chamar WriteCDataElement() Método para adicionar um elemento CDATA ao documento XML.

    Tabela 25. Parâmetros
    Nome Tipo Descrição
    nome Cadeia de caracteres Nome do elemento CDATA.
    dados Cadeia de caracteres Opcional. Tipo de dados para analisar o elemento CDATA.
    prefixo Objeto Opcional. Mapa de elementos secundários e valores que o elemento CDATA inclui. Por exemplo:
    {
    'prefixOne':'prefixValue',
    'prefixTwo':'prefixValue'
    }
    Você deve associar o prefixo de um elemento XML a um namespace usando WriteNamespace() .
    Tabela 26. Retornos
    Tipo Descrição
    XMLStreamingAPI Fluxo de objeto XML para construir a carga.

    Este exemplo usa uma definição de tipo de documento chamada endereço Para definir uma definição de tipo de documento interno para o documento 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 (texto de cadeia de caracteres)

    Adiciona texto ao seu documento XML.

    Use WriteCharacters() Método para inserir dados de cadeia de caracteres em uma seção no documento XML.

    Tabela 27. Parâmetros
    Nome Tipo Descrição
    texto Cadeia de caracteres Texto a ser adicionado a uma seção do seu documento XML.
    Tabela 28. Retornos
    Tipo Descrição
    XMLStreamingAPI Fluxo de objeto XML para construir a carga.

    O exemplo a seguir mostra como adicionar valores de texto a elementos em seu documento 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(comentário de cadeia de caracteres)

    Adiciona um comentário ao seu documento XML.

    Depois de ligar para StartDocument() , você pode chamar WriteComment() Método para adicionar um comentário ao seu documento XML.

    Tabela 29. Parâmetros
    Nome Tipo Descrição
    comentário Cadeia de caracteres Texto de comentário a ser incluído.
    Tabela 30. Retornos
    Tipo Descrição
    XMLStreamingAPI Fluxo de objeto XML para construir a carga.

    O exemplo a seguir mostra como adicionar um comentário a um documento 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 (cadeia de caracteres dtd)

    Adiciona uma definição de tipo de documento ao documento XML.

    Depois de ligar para StartDocument() , você pode chamar WriteDtd() Método para adicionar uma definição de tipo de documento XML válida ao documento XML.

    Tabela 31. Parâmetros
    Nome Tipo Descrição
    dtd Cadeia de caracteres Nome de uma definição de tipo de documento XML válida.
    Tabela 32. Retornos
    Tipo Descrição
    XMLStreamingAPI Fluxo de objeto XML para construir a carga.

    Este exemplo usa uma definição de tipo de documento chamada endereço Para definir uma definição de tipo de documento interno para o documento 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 (prefixo de cadeia de caracteres, namespaceURI de cadeia de caracteres)

    Adiciona um namespace a um elemento em seu documento XML.

    Depois de ligar para StartDocument() , StartElement() ou WriteTexElement() , você pode chamar WriteNamespace() Método para adicionar um namespace ao elemento XML associado.

    Tabela 33. Parâmetros
    Nome Tipo Descrição
    prefixo Cadeia de caracteres Prefixo do namespace XML.
    NamespaceURI Cadeia de caracteres Opcional. URI do namespace.
    Tabela 34. Retornos
    Tipo Descrição
    XMLStreamingAPI Fluxo de objeto XML para construir a carga.

    O exemplo a seguir mostra como adicionar um namespace e URI ao empresa elemento raiz e atribua o prefixo ao aninhado Nome da empresa elemento.

    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)

    Adiciona namespaces à raiz elemento em Seu documento XML.

    Depois de ligar para StartDocument() ou StartElement() , você pode chamar WriteNamespaces() Método para declarar namespaces para o elemento XML associado.

    Tabela 35. Parâmetros
    Nome Tipo Descrição
    NamespaceMap Objeto Mapa de chaves e valores que contém prefixos de namespace e URIs a serem associados ao elemento raiz do XML documento. Por exemplo:
    {
    'namespaceOne':'namespaceValue',
    'namespaceTwo':'namespaceValue'
    }
    Tabela 36. Retornos
    Tipo Descrição
    XMLStreamingAPI Fluxo de objeto XML para construir a carga.

    Este exemplo adiciona dois namespaces e URIs ao empresa elemento raiz e atribui os prefixos apropriados aos elementos aninhados.

    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 (nome da cadeia de caracteres, texto da cadeia de caracteres, prefixo do objeto)

    Adiciona um único elemento XML ao seu documento XML.

    Depois de ligar para StartDocument() , você pode chamar WriteTexElement() Método para adicionar um único elemento XML à estrutura do documento XML.

    Tabela 37. Parâmetros
    Nome Tipo Descrição
    nome Cadeia de caracteres Nome do elemento XML.
    texto Cadeia de caracteres Valor do elemento XML.
    prefixo Objeto Opcional. Mapa de prefixos e valores associados ao elemento XML. Por exemplo:
    {
    'prefixOne':'prefixValue',
    'prefixTwo':'prefixValue'
    }
    Você deve associar o prefixo de um elemento XML a um namespace usando WriteNamespace() .
    Tabela 38. Retornos
    Tipo Descrição
    XMLStreamingAPI Fluxo de objeto XML para construir a carga.

    O exemplo a seguir mostra como criar um documento XML que contém três elementos com informações sobre um funcionário.

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