XMLStreamingAPI - 범위 지정됨
대량 데이터를 타사 API로 전송하기 위해 REST 또는 SOAP 요청에 사용할 대규모 스트리밍 XML 페이로드를 빌드합니다. 페이로드를 비스트리밍 옵션에 대한 XML 문자열로 만들 수도 있습니다.
sn_ih 네임스페이스 식별자가 플로우 디자이너 있는 스크립트 단계에서 이러한 메서드를 사용합니다. 예를 들어, 이 API를 사용하여 스크립트 단계에서 XML 페이로드를 플로우 디자이너 생성하고 반환된 값을 REST 단계에 전달하여 외부 공급업체 서비스에 요청을 보낼 수 있습니다. 자세한 내용은 플로우 디자이너 스크립트 단계를 참조하십시오.
이 클래스에 대한 생성자가 없습니다. 대신 XMLStreamingAPI 객체를 반환하려면 XMLStreamingBuilder 클래스에서 build() 메서드를 호출해야 합니다. 자세한 내용은 XMLStreamingBuilder를 참조하십시오.
API 호출 순서
먼저 XMLStreamingBuilder를 사용하여 빌더 객체를 인스턴스화한 다음 XMLStreamingAPI 클래스의 메서드를 호출하여 XML 페이로드를 생성합니다.
- 1. XMLStreamingBuilder: 빌더 개체를 만듭니다.
- 다음 순서로 이러한 메서드를 사용하여 작성기 개체를 만듭니다.
- 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_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 - 닫기()
XMLStreamingAPI 객체를 닫습니다. XML 문서를 빌드한 후 스트림을 닫으려면 이 메서드를 호출해야 합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| void |
예제
다음 예제에서는 XML 문서를 만들고 만료 날짜가 정의된 스트리밍 첨부 파일 [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 객체입니다. |
다음 예제에서는 주소 요소에 예쁜 인쇄 서식을 추가하는 방법을 보여 줍니다.
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 객체입니다. |
다음 예제에서는 주소 요소에 예쁜 인쇄 서식을 추가하는 방법을 보여 줍니다.
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 - 범위가 지정됨을 참조하십시오.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 문자열 | 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 문서의 루트 요소 또는 최상위 부모 요소입니다. |
| 네임스페이스정의맵 | 객체 | 옵션입니다. 후속 요소 목록에서 네임스페이스와 관련 값에 대한 키와 값의 맵입니다. 예: |
| 유형 | 설명 |
|---|---|
| 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(문자열 요소 이름, 배열 데이터, 문자열 wrappingElement)
미리 정의된 텍스트가 있는 중첩된 요소의 목록을 스트리밍 XML 문서에 추가합니다.
startDocument() 메서드를 호출한 후 writeArray() 메서드를 호출하여 중첩된 요소 블록을 스트리밍 XML 문서에 추가할 수 있습니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| Elementname | 문자열 | 배열에 나열된 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 객체입니다. |
이 예제에서는 employee 요소에 idNumber라는 특성을 추가합니다.
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(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();
}