XMLStreamingAPI - 범위 지정됨
대량 데이터를 외부 공급업체 API로 보내기 위해 REST 또는 SOAP 요청에 사용할 대규모 스트리밍 XML 페이로드를 빌드합니다. 비스트리밍 옵션에 대한 XML 문자열로 페이로드를 생성할 수도 있습니다.
sn_ih 네임스페이스 식별자와 함께 이러한 메서드를 사용합니다. 예를 들어, 이 API를 사용하여 스크립트 단계에서 XML 페이로드 워크플로우 스튜디오 를 생성하고 반환된 값을 REST 단계에 전달하여 요청을 외부 공급업체 서비스로 보낼 수 있습니다. 추가 정보를 보려면 워크플로우 스튜디오 스크립트 단계를 참조하십시오.
이 클래스에 대한 생성자가 없습니다. 대신 XMLStreamingBuilder 클래스에서 build() 메서드를 호출하여 XMLStreamingAPI 객체를 반환해야 합니다.
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 라는 부모 요소를 빌드한 다음 네 개의 자식 요소를 작성하는 방법을 보여 줍니다.
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 메서드를 호출해야 합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| rootElement | 문자열 | 옵션입니다. 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(String name, Object namespaceMap, Object attributeMap, String prefix)
XML 요소의 시작 태그를 추가합니다.
- startElement() 메서드를 사용하여 시작 태그를 추가합니다.
- endElement() 메서드를 사용하여 닫는 태그를 추가합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 이름 | 문자열 | XML 요소의 이름입니다. |
| 네임스페이스맵 | 객체 | 옵션입니다. 네임스페이스에 대한 키와 값, 그리고 후속 요소 목록에 있는 관련 값의 맵입니다. 예: |
| attributeMap | 객체 | 옵션입니다. 후속 요소 목록에 있는 속성 및 연관된 값에 대한 키와 값의 맵입니다. |
| 프리픽스 | 문자열 | 옵션입니다. 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")
.startElement("address")
.writeTextElement("streetAddress", "21 2nd Street")
.writeTextElement("city", "Santa Clara")
.writeTextElement("state", "CA")
.writeTextElement("postalCode", "11111")
.endElement()
.endDocument()
gs.log(builder.getAttachmentId());
} catch (err) {
gs.log(err);
} finally {
builder.close();
}
XMLStreamingAPI - writeArray(String elementName, Array data, String wrappingElement)
미리 정의된 텍스트가 있는 중첩 요소 목록을 스트리밍 XML 문서에 추가합니다.
startDocument() 메서드를 호출한 후 writeArray() 메서드를 호출하여 스트리밍 XML 문서에 중첩된 요소 블록을 추가할 수 있습니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| elementName | 문자열 | 배열에 data 나열된 각 문자열과 연결된 XML 요소의 이름입니다. |
| 데이터 | 배열 | 내부에 wrappingElement중첩된 각 요소에 할당할 값의 목록입니다. |
| wrapping요소 | 문자열 | 각 elementName. |
| 유형 | 설명 |
|---|---|
| XMLStreamingAPI | 페이로드를 구성하기 위한 스트리밍 XML 객체입니다. |
다음 예제에서는 officeLocations라는 부모 요소를 빌드한 다음 5개의 city 요소 배열을 중첩하는 방법을 보여 줍니다.
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라는 특성을 추가합니다.
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 요소에 특성을 추가할 수 있습니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| attributeMap | 객체 | 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를 추가합니다.
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(String prefix, String 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();
}