XMLStreamingAPI - 범위 지정됨
대량 데이터를 타사 API로 전송하기 위해 REST 또는 SOAP 요청에 사용할 대규모 스트리밍 XML 페이로드를 빌드합니다. 비 스트리밍 옵션에 대한 XML 문자열로 페이로드를 만들 수도 있습니다.
sn_ih 네임스페이스 식별자와 함께 스크립트 단계에서 이러한 메서드를 워크플로우 스튜디오 사용합니다. 예를 들어 이 API를 사용하여 스크립트 단계에서 XML 페이로드를 워크플로우 스튜디오 생성하고 반환된 값을 REST 단계에 전달하여 요청을 외부 공급업체 서비스로 보낼 수 있습니다. 자세한 내용은 워크플로우 스튜디오 스크립트 단계를 참조하십시오.
이 클래스에 대한 생성자가 없습니다. 대신 XMLStreamingBuilder 클래스에서 build() 메서드를 호출하여 XMLStreamingAPI 객체를 반환해야 합니다.
API 호출 순서
먼저 XMLStreamingBuilder 를 사용하여 빌더 개체를 인스턴스화한 다음 XMLStreamingAPI 클래스의 메서드를 호출하여 XML 페이로드를 생성합니다.
- 1. XMLStreamingBuilder: 빌더 개체를 만듭니다.
- 다음 순서에 따라 이러한 메서드를 사용하여 Builder 개체를 만듭니다.
- XMLStreamingBuilder():XMLStreamingBuilder 객체를 인스턴스화합니다.
- withAttachment(): 선택 사항입니다. XML 문서를 첨부 파일로 만들고 스트리밍 첨부 파일 [streaming_attachment] 테이블에 저장합니다. 이 메서드를 호출하지 않으면 API는 페이로드를 XML 문자열로 빌드합니다.
- expiresAt(): 선택 사항입니다. 첨부 파일이 만료되는 시간을 설정합니다. 기본값은 False입니다. withAttachment() 메서드도 호출해야 합니다.
- build(): XMLStreamingAPI 객체를 반환합니다.
- 2. XMLStreamingAPI: XML 페이로드를 빌드합니다.
- 다음 순서에 따라 이러한 메서드를 사용하여 XML 페이로드를 만듭니다.
- startDocument():XML 문서에 최상위 부모 요소를 만듭니다.
- XML 문서에서 writeTextElement(), startElement() 및 writeArray()와 같은 하위 요소를 생성하는 메서드입니다.
- writeAttribute(),writeNamespace() 및 writeDtd()와 같은 요소에 대한 속성을 생성하는 메서드입니다.
- endElement():XML 요소를 닫습니다.
- endDocument: 최상위 부모 요소를 닫습니다.
- getXMLString() 또는 getAttachmentId(): 사용자가 만든 XML 문자열 또는 첨부 파일 ID를 반환합니다.
- close(): XMLStreamingAPI 객체를 닫습니다.
크기 제한
이 API를 통해 작성된 페이로드는 다음 크기 제한을 초과할 수 없습니다.
- 첨부 파일: 200MB
- 문자열 : 5MB
다음 예제에서는 XML 문서를 만들고 정의된 만료 날짜와 함께 Streaming Attachments [streaming_attachment] 테이블에 저장하는 방법을 보여 줍니다.
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();
}또는 이 예시는 스크립트 단계에서 API를 사용하여 페이로드를 XML 문자열로 생성하는 방법을 보여줍니다. 이 옵션을 사용하여 5MB 미만의 페이로드를 생성할 수 있습니다.
(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);출력:
<?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()
XMLStreamingAPI 객체를 닫습니다. XML 문서를 빌드한 후 스트림을 닫으려면 이 메서드를 호출해야 합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| void |
예제
다음 예제에서는 XML 문서를 만들고 정의된 만료 날짜와 함께 Streaming Attachments [streaming_attachment] 테이블에 저장하는 방법을 보여 줍니다.
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()
예쁜 인쇄 XML 서식을 끝냅니다.
이 메서드를 호출하기 전에 먼저 enablePrettyPrint() 를 호출하여 섹션에 XML 서식을 추가해야 합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| XMLStreamingAPI | 페이로드를 구성하기 위한 스트리밍 XML 객체입니다. |
다음 예제에서는 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()
XML 요소 또는 요소 트리에 예쁜 인쇄 서식을 추가합니다.
disablePrettyPrint() 메서드를 사용하여 서식을 종료합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| XMLStreamingAPI | 페이로드를 구성하기 위한 스트리밍 XML 객체입니다. |
다음 예제에서는 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()
XML 문서의 구조를 끝냅니다.
startDocument() 메서드를 호출하고 스트리밍 XML 문서를 구성한 후 문서 구조의 끝에서 endDocument() 메서드를 호출합니다. 스트리밍 XML 문서의 구조를 성공적으로 빌드하려면 이 두 메서드를 함께 사용해야 합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| XMLStreamingAPI | 페이로드를 구성하기 위한 스트리밍 XML 객체입니다. |
다음 예제에서는 사용자에 대한 요소가 포함된 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')
.writeTextElement('firstName', 'John')
.writeTextElement('lastName', 'Smith')
.writeTextElement('age', '25')
.endDocument();
gs.log(streamingDocument.getAttachmentId());
} catch (err) {
gs.log(err);
} finally {
streamingDocument.close();
}
XMLStreamingAPI - endElement()
XML 요소에 닫는 태그를 추가합니다.
- startElement() 메서드를 사용하여 시작 태그를 추가합니다.
- endElement() 메서드를 사용하여 닫는 태그를 추가합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| XMLStreamingAPI | 페이로드를 구성하기 위한 스트리밍 XML 객체입니다. |
다음 예제에서는 address 라는 부모 요소를 빌드한 다음 4개의 자식 요소를 작성하는 방법을 보여 줍니다.
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()
XML 문서를 문자열로 반환합니다.
XML 문서를 문자열로 반환하려면 XMLStreamingBuilder 클래스에서 getAttachementId() 메서드를 호출하지 마십시오. 자세한 내용은 XMLStreamingBuilder - Scoped를 참조하십시오.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 문자열 | XMLStreamingAPI 메서드를 사용하여 문자열로 만든 XML 문서입니다. |
다음 예제에서는 XML 문서를 만든 다음 문자열로 반환하는 방법을 보여 줍니다.
(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);출력:
<?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)
XML 문서 작성을 시작합니다.
build() 메서드를 호출한 후 startDocument() 메서드를 호출하여 XML 문서 구성을 시작합니다. 또한 문서 구조의 끝에서 endDocument 메서드를 호출해야 합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| root엘리먼트 | 문자열 | 옵션입니다. XML 문서의 루트 요소 또는 최상위 상위 요소입니다. |
| namespaceDefinitionMap (네임스페이스정의맵) | 객체 | 옵션입니다. 후속 요소 목록에 있는 네임스페이스와 관련 값의 키와 값 맵입니다. 예: |
| 유형 | 설명 |
|---|---|
| XMLStreamingAPI | 페이로드를 구성하기 위한 스트리밍 XML 객체입니다. |
다음 예제에서는 직원에 대한 정보가 포함된 요소가 포함된 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')
.writeTextElement('firstName', 'John')
.writeTextElement('lastName', 'Smith')
.writeTextElement('age', '25')
.endDocument();
gs.log(streamingDocument.getAttachmentId());
} catch (err) {
gs.log(err);
} finally {
streamingDocument.close();
}
XMLStreamingAPI - startElement(문자열 이름, 개체 namespaceMap, 개체 attributeMap, 문자열 접두어)
XML 요소에 대한 시작 태그를 추가합니다.
- startElement() 메서드를 사용하여 시작 태그를 추가합니다.
- endElement() 메서드를 사용하여 닫는 태그를 추가합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 이름 | 문자열 | XML 요소의 이름입니다. |
| 네임스페이스맵 | 객체 | 옵션입니다. 후속 요소 목록에 있는 네임스페이스와 관련 값의 키와 값 맵입니다. 예: |
| 속성 맵 | 객체 | 옵션입니다. 속성에 대한 키와 값, 그리고 후속 요소 목록에 있는 관련 값의 맵입니다. |
| 프리픽스 | 문자열 | 옵션입니다. XML 요소의 접두사입니다. |
| 유형 | 설명 |
|---|---|
| XMLStreamingAPI | 페이로드를 구성하기 위한 스트리밍 XML 객체입니다. |
다음 예제에서는 address 라는 부모 요소를 빌드한 다음 4개의 자식 요소를 작성하는 방법을 보여 줍니다.
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, 배열 데이터, String wrappingElement)
미리 정의된 텍스트가 있는 중첩된 요소 목록을 스트리밍 XML 문서에 추가합니다.
startDocument() 메서드를 호출한 후 writeArray() 메서드를 호출하여 스트리밍 XML 문서에 중첩된 요소 블록을 추가할 수 있습니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 요소 이름 | 문자열 | 배열에 나열된 data 각 문자열과 연결된 XML 요소의 이름입니다. |
| 데이터 | 배열 | 안에 wrappingElement중첩된 각 요소에 할당할 값의 목록입니다. |
| wrappingElement (래핑 엘리먼트) | 문자열 | 각 elementName. |
| 유형 | 설명 |
|---|---|
| XMLStreamingAPI | 페이로드를 구성하기 위한 스트리밍 XML 객체입니다. |
다음 예제에서는 officeLocations라는 부모 요소를 작성한 다음 5 개의 도시 요소 배열을 중첩하는 방법을 보여 줍니다.
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(문자열 이름, 문자열 값)
XML 문서의 요소에 특성을 추가합니다.
startDocument(),startElement() 또는 writeTextElement() 메서드를 호출한 후 writeAttribute() 메서드를 호출하여 연결된 XML 요소에 속성을 추가할 수 있습니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 이름 | 문자열 | XML 요소의 특성 이름입니다. |
| 값 | 문자열 | XML 요소의 특성에 대한 값입니다. |
| 유형 | 설명 |
|---|---|
| XMLStreamingAPI | 페이로드를 구성하기 위한 스트리밍 XML 객체입니다. |
이 예제에서는 idNumber 라는 특성을 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)
XML 문서의 요소에 특성을 추가합니다.
startDocument(),startElement() 또는 writeTextElement() 메서드를 호출한 후 writeAttributes() 메서드를 호출하여 연결된 XML 요소에 특성을 추가할 수 있습니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 속성 맵 | 객체 | XML 요소와 연결할 특성 이름과 값을 포함하는 키 및 값의 맵입니다. 예: |
| 유형 | 설명 |
|---|---|
| XMLStreamingAPI | 페이로드를 구성하기 위한 스트리밍 XML 객체입니다. |
이 예제에서는 idNumber, officeLocation 및 department 라는 특성을 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(문자열 데이터)
XML 문서에 CDATA를 추가합니다.
writeCDataElement() 메서드를 호출한 후 writeCData() 메서드를 호출하여 요소 내에 CDATA를 추가할 수 있습니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 데이터 | 문자열 | CDATA 요소에서 CDATA 키워드 뒤에 포함할 값입니다. |
| 유형 | 설명 |
|---|---|
| XMLStreamingAPI | 페이로드를 구성하기 위한 스트리밍 XML 객체입니다. |
이 예제에서는 CDATA 요소 timeWorked에 CDATA를 추가합니다.
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(문자열 이름, 문자열 데이터, 개체 접두사)
XML 문서에 CDATA 요소를 추가합니다.
startDocument() 메서드를 호출한 후 writeCDataElement() 메서드를 호출하여 XML 문서에 CDATA 요소를 추가할 수 있습니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 이름 | 문자열 | CDATA 요소의 이름입니다. |
| 데이터 | 문자열 | 옵션입니다. CDATA 요소를 구문 분석할 데이터의 유형입니다. |
| 프리픽스 | 객체 | 옵션입니다. CDATA 요소에 포함된 자식 요소 및 값의 맵입니다. 예: writeNamespace()를 사용하여 XML 요소의 접두사를 네임스페이스와 연결해야 합니다. |
| 유형 | 설명 |
|---|---|
| XMLStreamingAPI | 페이로드를 구성하기 위한 스트리밍 XML 객체입니다. |
이 예제에서는 address 라는 문서 유형 정의를 사용하여 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(문자열 텍스트)
XML 문서에 텍스트를 추가합니다.
writeCharacters() 메서드를 사용하여 XML 문서의 섹션에 문자열 데이터를 삽입할 수 있습니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 텍스트 | 문자열 | XML 문서의 섹션에 추가할 텍스트입니다. |
| 유형 | 설명 |
|---|---|
| XMLStreamingAPI | 페이로드를 구성하기 위한 스트리밍 XML 객체입니다. |
다음 예제에서는 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(문자열 주석)
XML 문서에 주석을 추가합니다.
startDocument() 메서드를 호출한 후 writeComment() 메서드를 호출하여 XML 문서에 주석을 추가할 수 있습니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 댓글 | 문자열 | 포함할 의견 텍스트입니다. |
| 유형 | 설명 |
|---|---|
| XMLStreamingAPI | 페이로드를 구성하기 위한 스트리밍 XML 객체입니다. |
다음 예제에서는 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(문자열 dtd)
XML 문서에 문서 유형 정의를 추가합니다.
startDocument() 메서드를 호출한 후 writeDtd() 메서드를 호출하여 유효한 XML 문서 유형 정의를 XML 문서에 추가할 수 있습니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| dtd | 문자열 | 유효한 XML 문서 유형 정의의 이름입니다. |
| 유형 | 설명 |
|---|---|
| XMLStreamingAPI | 페이로드를 구성하기 위한 스트리밍 XML 객체입니다. |
이 예제에서는 address 라는 문서 유형 정의를 사용하여 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(문자열 접두사, 문자열 namespaceURI)
XML 문서의 요소에 네임스페이스를 추가합니다.
startDocument(),startElement() 또는 writeTextElement() 메서드를 호출한 후 writeNamespace() 메서드를 호출하여 연결된 XML 요소에 네임스페이스를 추가할 수 있습니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 프리픽스 | 문자열 | XML 네임스페이스의 접두사입니다. |
| 네임스페이스URI | 문자열 | 옵션입니다. 네임스페이스의 URI입니다. |
| 유형 | 설명 |
|---|---|
| XMLStreamingAPI | 페이로드를 구성하기 위한 스트리밍 XML 객체입니다. |
다음 예제에서는 회사 루트 요소에 네임스페이스와 URI를 추가한 다음 중첩된 companyName 요소에 접두사를 할당하는 방법을 보여 줍니다.
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(객체 namespaceMap)
XML 문서의 루트 요소에 네임스페이스를 추가합니다.
startDocument() 또는 startElement() 메서드를 호출한 후 writeNamespaces() 메서드를 호출하여 연결된 XML 요소에 대한 네임스페이스를 선언할 수 있습니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 네임스페이스맵 | 객체 | XML 문서의 루트 요소와 연결할 네임스페이스 접두어와 URI를 포함하는 키와 값의 맵입니다. 예: |
| 유형 | 설명 |
|---|---|
| XMLStreamingAPI | 페이로드를 구성하기 위한 스트리밍 XML 객체입니다. |
이 예제에서는 회사 루트 요소에 두 개의 네임스페이스와 URI를 추가한 다음 중첩된 요소에 적절한 접두사를 할당합니다.
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(문자열 이름, 문자열 텍스트, 객체 접두사)
XML 문서에 단일 XML 요소를 추가합니다.
startDocument() 메서드를 호출한 후 writeTextElement() 메서드를 호출하여 XML 문서의 구조에 단일 XML 요소를 추가할 수 있습니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 이름 | 문자열 | XML 요소의 이름입니다. |
| 텍스트 | 문자열 | XML 요소의 값입니다. |
| 프리픽스 | 객체 | 옵션입니다. XML 요소와 연결된 접두사 및 값의 맵입니다. 예: writeNamespace()를 사용하여 XML 요소의 접두사를 네임스페이스와 연결해야 합니다. |
| 유형 | 설명 |
|---|---|
| XMLStreamingAPI | 페이로드를 구성하기 위한 스트리밍 XML 객체입니다. |
다음 예제에서는 직원에 대한 정보가 포함된 세 개의 요소가 포함된 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')
.writeTextElement('firstName', 'John')
.writeTextElement('lastName', 'Smith')
.writeTextElement('age', '25')
.endDocument();
gs.log(streamingDocument.getAttachmentId());
} catch (err) {
gs.log(err);
} finally {
streamingDocument.close();
}