XMLStreamingAPI - com escopo
Crie uma grande carga XML de streaming 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 sem streaming.
sn_ih. Por exemplo, você pode usar esta API para criar uma carga XML na etapa de script Flow Designer e passar o valor retornado para a etapa REST para enviar a solicitação a um serviço de terceiros. Para obter mais informações, consulte a Flow Designer etapa Script.
Não há nenhum construtor para esta classe. Em vez disso, você deve chamar o método build() na classe XMLStreamingBuilder para retornar um objeto XMLStreamingAPI. Para obter mais informações, consulte XMLStreamingBuilder.
Ordem de chamada de API
Gere cargas XML primeiro instanciando um objeto de construtor com XMLStreamingBuilder e, em seguida, chamando os métodos na classe XMLStreamingAPI :
- 1. XMLStreamingBuilder: cria um objeto de construtor
- Use esses métodos na seguinte ordem para criar um objeto de construtor:
- XMLStreamingBuilder(): Instancia o objeto XMLStreamingBuilder.
- withAttachment(): Opcional. Cria um documento XML como anexo e o armazena na tabela Anexos de streaming [streaming_attachment]. Se você não chamar este método, a API criará a carga como uma cadeia de caracteres XML.
- expiresAt(): Opcional. Define uma hora em que o anexo expira. Falso é o padrão. Também deve chamar o método withAttachment().
- build(): retorna um objeto XMLStreamingAPI.
- 2. XMLStreamingAPI: cria a carga XML
- Use esses métodos na seguinte ordem para criar a carga XML:
- startDocument(): cria o elemento primário de nível superior no documento XML.
- Métodos para gerar elementos secundários no documento XML, como writeTextElement(), startElement()e writeArray().
- Métodos para gerar atributos para um elemento, como writeAttribute(), writeNamespace()e writeDtd().
- endElement(): fecha um elemento XML.
- endDocument: fecha o elemento primário de nível superior.
- getXMLString() ou getAttachmentId(): retorna a cadeia de caracteres XML ou o ID de anexo que você criou.
- close(): 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 streaming [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 de script e criar a carga como uma cadeia de caracteres XML. Você pode usar esta opção para criar cargas úteis abaixo de 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 - close()
Fecha o objeto XMLStreamingAPI. Você deve chamar este método para fechar o fluxo depois de criar seu documento XML.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| vazio |
Exemplo
O exemplo a seguir mostra como criar um documento XML e armazená-lo na tabela Anexos de streaming [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()
Encerra a formatação XML de impressão atraente.
Antes de chamar este método, você deve primeiro chamar enablePrettyprint() para adicionar a formatação XML a uma seção.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| XMLStreamingAPI | Objeto XML de fluxo para construir a carga útil. |
O exemplo a seguir mostra como adicionar formatação de impressão atraente ao elemento de endereço.
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 atraente a um elemento XML ou árvore de elementos.
Use o método disablePrettyprint() para finalizar a formatação.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| XMLStreamingAPI | Objeto XML de fluxo para construir a carga útil. |
O exemplo a seguir mostra como adicionar formatação de impressão atraente ao elemento de endereço.
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 chamar o método startDocument() e organizar seu documento XML de streaming, chame o método endDocument() no final da estrutura do documento. Você deve usar esses dois métodos juntos para criar com êxito a estrutura do documento XML de streaming.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| XMLStreamingAPI | Objeto XML de fluxo para construir a carga útil. |
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 encerramento a um elemento XML.
- Use o método startElement() para adicionar um marcador de início.
- Use o método endElement() para adicionar o marcador de encerramento.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| XMLStreamingAPI | Objeto XML de fluxo para construir a carga útil. |
O exemplo a seguir mostra como criar um elemento primário chamado address e gravar 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 o método getAttachementId() na classe XMLStreamingBuilder. Para obter mais informações, consulte XMLStreamingBuilder - com escopo.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | Documento XML criado usando os métodos XMLStreamingAPI, como uma cadeia de caracteres. |
O exemplo a seguir mostra como criar um documento XML e retorná-lo 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, namespaceDefinitionMap do objeto)
Começa a criar um documento XML.
Depois de chamar o método build(), chame o método startDocument() para começar a organizar seu documento XML. Você também deve chamar o método endDocument no final da estrutura do documento.
| Nome | Tipo | Descrição |
|---|---|---|
| Elementoraiz | Cadeia de caracteres | Opcional. Elemento raiz, ou elemento primário de nível superior, para o seu documento XML. |
| namespaceDefinitionMap | Objeto | Opcional. Mapa de chaves e valores para os namespaces e seus valores associados em uma lista de elementos subsequente. Por exemplo: |
| Tipo | Descrição |
|---|---|
| XMLStreamingAPI | Objeto XML de fluxo para construir a carga útil. |
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(cadeia de caracteres nome, objeto namespaceMap, atributo de objetoMap, prefixo de cadeia de caracteres)
Adiciona um marcador inicial para um elemento XML.
- Use o método startElement() para adicionar um marcador de início.
- Use o método endElement() para adicionar o marcador de encerramento.
| 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 de elementos subsequente. Por exemplo: |
| AtributoMap | Objeto | Opcional. Mapa de chaves e valores para os atributos e seus valores associados em uma lista de elementos subsequente. |
| prefixo | Cadeia de caracteres | Opcional. Prefixo para o elemento XML. |
| Tipo | Descrição |
|---|---|
| XMLStreamingAPI | Objeto XML de fluxo para construir a carga útil. |
O exemplo a seguir mostra como criar um elemento primário chamado address e gravar 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(cadeia de caracteres elementName, dados de matriz, cadeia de caracteres wrapElement)
Adiciona uma lista de elementos aninhados com texto predefinido ao seu documento XML de streaming.
Depois de chamar o método startDocument(), você pode chamar o método writeArray() para adicionar um bloco de elementos aninhados ao seu documento XML de streaming.
| Nome | Tipo | Descrição |
|---|---|---|
| elementName | Cadeia de caracteres | Nome do elemento XML associado a cada cadeia de caracteres listada na matriz data. |
| dados | Matriz | Lista de valores a serem atribuídos a cada elemento aninhado dentro de wrappingElement. |
| wrapElement | Cadeia de caracteres | Elemento primário que contém cada elementName. |
| Tipo | Descrição |
|---|---|
| XMLStreamingAPI | Objeto XML de fluxo para construir a carga útil. |
O exemplo a seguir mostra como criar um elemento primário chamado officeLocationse, em seguida, aninhar uma matriz de cinco elementos de cidade.
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(cadeia de caracteres nome, cadeia de caracteres valor)
Adiciona um atributo a um elemento no seu documento XML.
Depois de chamar o método startDocument(), startElement()ou writeTextElement(), você pode chamar o método writeAttribute() para adicionar um atributo ao elemento XML associado.
| Nome | Tipo | Descrição |
|---|---|---|
| nome | Cadeia de caracteres | Nome do atributo do elemento XML. |
| valor | Cadeia de caracteres | Valor do atributo do elemento XML. |
| Tipo | Descrição |
|---|---|
| XMLStreamingAPI | Objeto XML de fluxo para construir a carga útil. |
Este exemplo adiciona um atributo chamado idNumber ao elemento 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 AtributMap)
Adiciona atributos a um elemento no seu documento XML.
Depois de chamar o método startDocument(), startElement()ou writeTextElement(), você pode chamar o método writeAttributes() para adicionar atributos ao elemento XML associado.
| Nome | Tipo | Descrição |
|---|---|---|
| AtributoMap | Objeto | Mapa de chaves e valores que contêm nomes de atributo e valores a serem associados ao elemento XML. Por exemplo: |
| Tipo | Descrição |
|---|---|
| XMLStreamingAPI | Objeto XML de fluxo para construir a carga útil. |
Este exemplo adiciona atributos chamados idNumber, officeLocatione departamento ao elemento 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')
.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(cadeia de caracteres dados)
Adiciona CDATA ao seu documento XML.
Depois de chamar o método writeCDataElement(), você pode chamar o método writeCData() para adicionar CDATA ao elemento.
| Nome | Tipo | Descrição |
|---|---|---|
| dados | Cadeia de caracteres | Valor a ser incluído após a palavra-chave CDATA no elemento CDATA. |
| Tipo | Descrição |
|---|---|
| XMLStreamingAPI | Objeto XML de fluxo para construir a carga útil. |
Este exemplo adiciona CDATA ao elemento 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(cadeia de caracteres nome, cadeia de dados dados, prefixo do objeto)
Adiciona um elemento CDATA ao seu documento XML.
Depois de chamar o método startDocument(), você pode chamar o método writeCDataElement() para adicionar um elemento CDATA ao seu documento XML.
| 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: Você deve associar o prefixo de um elemento XML a um namespace usando writeNamespace(). |
| Tipo | Descrição |
|---|---|
| XMLStreamingAPI | Objeto XML de fluxo para construir a carga útil. |
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(cadeia de caracteres text)
Adiciona texto ao seu documento XML.
Use o método writeCharacters() para inserir dados de cadeia de caracteres em uma seção no documento XML.
| Nome | Tipo | Descrição |
|---|---|---|
| texto | Cadeia de caracteres | Texto a ser adicionado a uma seção do documento XML. |
| Tipo | Descrição |
|---|---|
| XMLStreamingAPI | Objeto XML de fluxo para construir a carga útil. |
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 documento XML.
Depois de chamar o método startDocument(), você pode chamar o método writeComment() para adicionar um comentário ao seu documento XML.
| Nome | Tipo | Descrição |
|---|---|---|
| comentário | Cadeia de caracteres | Texto de comentário a ser incluído. |
| Tipo | Descrição |
|---|---|
| XMLStreamingAPI | Objeto XML de fluxo para construir a carga útil. |
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 seu documento XML.
Depois de chamar o método startDocument(), você pode chamar o método writeDtd() para adicionar uma definição de tipo de documento XML válida ao seu documento XML.
| Nome | Tipo | Descrição |
|---|---|---|
| dtd | Cadeia de caracteres | Nome de uma definição de tipo de documento XML válida. |
| Tipo | Descrição |
|---|---|
| XMLStreamingAPI | Objeto XML de fluxo para construir a carga útil. |
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(cadeia de caracteres prefixo, cadeia de caracteres namespaceURI)
Adiciona um namespace a um elemento no documento XML.
Depois de chamar o método startDocument(), startElement()ou writeTextElement(), você pode chamar o método writeNamespace() para adicionar um namespace ao elemento XML associado.
| Nome | Tipo | Descrição |
|---|---|---|
| prefixo | Cadeia de caracteres | Prefixo para o namespace XML. |
| namespaceURI | Cadeia de caracteres | Opcional. URI para o namespace. |
| Tipo | Descrição |
|---|---|
| XMLStreamingAPI | Objeto XML de fluxo para construir a carga útil. |
O exemplo a seguir mostra como adicionar um namespace e URI ao elemento raiz da empresa e, em seguida, atribuir o prefixo ao elemento companyName aninhado.
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 ao elemento raiz em seu documento XML.
Depois de chamar o método startDocument() ou startElement(), você pode chamar o método writeNamespaces() para declarar namespaces para o elemento XML associado.
| 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 documento XML . Por exemplo: |
| Tipo | Descrição |
|---|---|
| XMLStreamingAPI | Objeto XML de fluxo para construir a carga útil. |
Este exemplo adiciona dois namespaces e URIs ao elemento raiz da empresa e, em seguida, 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(cadeia de caracteres nome, cadeia de caracteres texto, prefixo do objeto)
Adiciona um único elemento XML ao seu documento XML.
Depois de chamar o método startDocument(), você pode chamar o método writeTextElement() para adicionar um único elemento XML à estrutura do documento XML.
| 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: Você deve associar o prefixo de um elemento XML a um namespace usando writeNamespace(). |
| Tipo | Descrição |
|---|---|
| XMLStreamingAPI | Objeto XML de fluxo para construir a carga útil. |
O exemplo a seguir mostra como criar um documento XML contendo 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();
}