이 서비스를 사용하면 스크립트가 XML 문서를 파싱하고, 탐색하고, 프로그래매틱 방식으로 만들 수 있습니다.
// Log the title and labels for the first page of blog posts on // Google's The Keyword blog. function parseXml() { let url = 'https://blog.google/rss/'; let xml = UrlFetchApp.fetch(url).getContentText(); let document = XmlService.parse(xml); let root = document.getRootElement(); let channel = root.getChild('channel'); let items = channel.getChildren('item'); items.forEach(item => { let title = item.getChild('title').getText(); let categories = item.getChildren('category'); let labels = categories.map(category => category.getText()); console.log('%s (%s)', title, labels.join(', ')); }); } // Create and log an XML representation of first 10 threads in your Gmail inbox. function createXml() { let root = XmlService.createElement('threads'); let threads = GmailApp.getInboxThreads() threads = threads.slice(0,10); // Just the first 10 threads.forEach(thread => { let child = XmlService.createElement('thread') .setAttribute('messageCount', thread.getMessageCount()) .setAttribute('isUnread', thread.isUnread()) .setText(thread.getFirstMessageSubject()); root.addContent(child); }); let document = XmlService.createDocument(root); let xml = XmlService.getPrettyFormat().format(document); console.log(xml); }
클래스
| 이름 | 간략한 설명 |
|---|---|
Attribute | XML 속성의 표현입니다. |
Cdata | XML CDATASection 노드의 표현입니다. |
Comment | XML Comment 노드의 표현입니다. |
Content | 일반 XML 노드의 표현입니다. |
Content | XML 콘텐츠 노드 유형을 나타내는 열거형입니다. |
Doc | XML Document 노드의 표현입니다. |
Document | XML 문서의 표현입니다. |
Element | XML Element 노드의 표현입니다. |
Entity | XML Entity 노드의 표현입니다. |
Format | XML 문서를 출력하는 포맷터로, 추가로 맞춤설정할 수 있는 사전 정의된 형식이 세 개 있습니다. |
Namespace | XML 네임스페이스의 표현입니다. |
Processing | XML Processing 노드의 표현입니다. |
Text | XML Text 노드의 표현입니다. |
Xml | 이 서비스를 사용하면 스크립트가 XML 문서를 파싱하고, 탐색하고, 프로그래매틱 방식으로 만들 수 있습니다. |
Attribute
메서드
| 메서드 | 반환 유형 | 간략한 설명 |
|---|---|---|
get | String | 속성의 로컬 이름을 가져옵니다. |
get | Namespace|null | 속성의 네임스페이스를 가져옵니다. |
get | String | 속성 값을 가져옵니다. |
set | Attribute | 속성의 로컬 이름을 설정합니다. |
set | Attribute | 속성의 네임스페이스를 설정합니다. |
set | Attribute | 속성의 값을 설정합니다. |
Cdata
메서드
| 메서드 | 반환 유형 | 간략한 설명 |
|---|---|---|
append(text) | Text | 노드에 이미 있는 콘텐츠에 지정된 텍스트를 추가합니다. |
detach() | Content|null | 노드를 상위 Element 노드에서 분리합니다. |
get | Element|null | 노드의 상위 Element 노드를 가져옵니다. |
get | String | Text 노드의 텍스트 값을 가져옵니다. |
get | String | 문서에 표시되는 순서대로 노드의 직계 또는 비직계 하위 요소인 모든 노드의 텍스트 값을 가져옵니다. |
set | Text | Text 노드의 텍스트 값을 설정합니다. |
Comment
메서드
| 메서드 | 반환 유형 | 간략한 설명 |
|---|---|---|
detach() | Content|null | 노드를 상위 Element 노드에서 분리합니다. |
get | Element|null | 노드의 상위 Element 노드를 가져옵니다. |
get | String | Comment 노드의 텍스트 값을 가져옵니다. |
get | String | 문서에 표시되는 순서대로 노드의 직계 또는 비직계 하위 요소인 모든 노드의 텍스트 값을 가져옵니다. |
set | Comment | Comment 노드의 텍스트 값을 설정합니다. |
Content
메서드
| 메서드 | 반환 유형 | 간략한 설명 |
|---|---|---|
as | Cdata|null | 자동 완성을 위해 노드를 CDATASection 노드로 변환합니다. |
as | Comment|null | 자동 완성을 위해 노드를 Comment 노드로 변환합니다. |
as | Doc | 자동 완성을 위해 노드를 Document 노드로 변환합니다. |
as | Element|null | 자동 완성을 위해 노드를 Element 노드로 변환합니다. |
as | Entity | 자동 완성을 위해 노드를 Entity 노드로 변환합니다. |
as | Processing | 자동 완성을 위해 노드를 Processing 노드로 변환합니다. |
as | Text|null | 자동 완성을 위해 노드를 Text 노드로 변환합니다. |
detach() | Content|null | 노드를 상위 Element 노드에서 분리합니다. |
get | Element|null | 노드의 상위 Element 노드를 가져옵니다. |
get | Content | 노드의 콘텐츠 유형을 가져옵니다. |
get | String | 문서에 표시되는 순서대로 노드의 직계 또는 비직계 하위 요소인 모든 노드의 텍스트 값을 가져옵니다. |
Content Type
속성
| 속성 | 유형 | 설명 |
|---|---|---|
CDATA | Enum | XML CDATASection 노드입니다. |
COMMENT | Enum | XML Comment 노드입니다. |
DOCTYPE | Enum | XML Document 노드입니다. |
ELEMENT | Enum | XML Element 노드입니다. |
ENTITYREF | Enum | XML Entity 노드입니다. |
PROCESSINGINSTRUCTION | Enum | XML Processing 노드입니다. |
TEXT | Enum | XML Text 노드입니다. |
Doc Type
메서드
| 메서드 | 반환 유형 | 간략한 설명 |
|---|---|---|
detach() | Content|null | 노드를 상위 Element 노드에서 분리합니다. |
get | String | Doc 선언에 지정된 루트 Element 노드의 이름을 가져옵니다. |
get | String | Document 노드의 내부 하위 집합 데이터를 가져옵니다. |
get | Element|null | 노드의 상위 Element 노드를 가져옵니다. |
get | String | Document 노드의 외부 하위 집합 데이터의 공개 ID를 가져옵니다. |
get | String | Document 노드의 외부 하위 집합 데이터의 시스템 ID를 가져옵니다. |
get | String | 문서에 표시되는 순서대로 노드의 직계 또는 비직계 하위 요소인 모든 노드의 텍스트 값을 가져옵니다. |
set | Doc | Doc 선언에서 지정할 루트 Element 노드의 이름을 설정합니다. |
set | Doc | Document 노드의 내부 하위 집합 데이터를 설정합니다. |
set | Doc | Document 노드의 외부 하위 집합 데이터의 공개 ID를 설정합니다. |
set | Doc | Document 노드의 외부 하위 집합 데이터의 시스템 ID를 설정합니다. |
Document
메서드
| 메서드 | 반환 유형 | 간략한 설명 |
|---|---|---|
add | Document | 지정된 노드를 문서 끝에 추가합니다. |
add | Document | 문서의 직계 하위 요소인 모든 노드 중에서 지정된 색인에 지정된 노드를 삽입합니다. |
clone | Content[] | 문서의 직계 하위 요소인 모든 노드의 연결되지 않은 사본을 만듭니다. |
detach | Element|null | 문서의 루트 Element 노드를 분리하고 반환합니다. |
get | Content[] | 문서의 직계 하위 요소인 모든 노드를 가져옵니다. |
get | Content|null | 문서의 직계 하위 요소인 모든 노드 중에서 지정된 색인의 노드를 가져옵니다. |
get | Integer | 문서의 직계 하위 노드 수를 가져옵니다. |
get | Content[] | 문서에 표시되는 순서대로 문서의 직접 또는 간접 하위 요소인 모든 노드를 가져옵니다. |
get | Doc | 문서의 Doc 선언을 가져옵니다. |
get | Element|null | 문서의 루트 Element 노드를 가져옵니다. |
has | Boolean | 문서에 루트 Element 노드가 있는지 확인합니다. |
remove | Content[] | 문서의 직계 자식인 모든 노드를 삭제합니다. |
remove | Boolean | 노드가 문서의 바로 아래 하위 요소인 경우 지정된 노드를 삭제합니다. |
remove | Content|null | 문서의 직계 하위 요소인 모든 노드 중에서 지정된 색인의 노드를 삭제합니다. |
set | Document | 문서의 Doc 선언을 설정합니다. |
set | Document | 문서의 루트 Element 노드를 설정합니다. |
Element
메서드
| 메서드 | 반환 유형 | 간략한 설명 |
|---|---|---|
add | Element | 지정된 노드를 Element 노드의 마지막 하위 요소로 추가합니다. |
add | Element | Element 노드의 직계 하위 요소인 모든 노드 중에서 지정된 색인에 지정된 노드를 삽입합니다. |
clone | Content[] | {@code Element} 노드의 직계 하위 요소인 모든 노드의 연결되지 않은 사본을 만듭니다. |
detach() | Content|null | 노드를 상위 Element 노드에서 분리합니다. |
get | Content[] | {@code Element} 노드의 직계 하위 노드를 모두 가져옵니다. |
get | Attribute|null | 지정된 이름과 네임스페이스가 없는 이 Element 노드의 속성을 가져옵니다. |
get | Attribute|null | 지정된 이름과 네임스페이스를 사용하여 이 Element 노드의 속성을 가져옵니다. |
get | Attribute[] | 문서에 표시되는 순서대로 이 Element 노드의 모든 속성을 가져옵니다. |
get | Element|null | 지정된 이름과 네임스페이스가 없으며 이 Element 노드의 직계 자식인 첫 번째 Element 노드를 가져옵니다. |
get | Element|null | 이 Element 노드의 직계 자식인 지정된 이름과 네임스페이스를 가진 첫 번째 Element 노드를 가져옵니다. |
get | String|null | 노드가 Element 노드의 직계 자식인 경우 지정된 이름과 네임스페이스가 없는 노드의 텍스트 값을 가져옵니다. |
get | String|null | 노드가 Element 노드의 직계 자식인 경우 지정된 이름과 네임스페이스가 있는 노드의 텍스트 값을 가져옵니다. |
get | Element[] | 이 Element 노드의 직계 하위 항목인 모든 Element 노드를 문서에 표시되는 순서대로 가져옵니다. |
get | Element[] | 이 Element 노드의 직계 하위 항목이며 지정된 이름이 있고 네임스페이스가 없는 모든 Element 노드를 문서에 표시되는 순서대로 가져옵니다. |
get | Element[] | 이 Element 노드의 직계 하위 항목이며 지정된 이름과 네임스페이스가 있는 모든 Element 노드를 문서에 표시되는 순서대로 가져옵니다. |
get | Content|null | {@code Element} 노드의 직계 하위 노드인 모든 노드 중에서 지정된 색인의 노드를 가져옵니다. |
get | Integer | {@code Element} 노드의 직계 하위 노드 수를 가져옵니다. |
get | Content[] | {@code Element} 노드의 직접 또는 간접 하위 노드를 문서에 표시되는 순서대로 가져옵니다. |
get | Document | {@code Element} 노드를 포함하는 XML 문서를 가져옵니다. |
get | String | Element 노드의 로컬 이름을 가져옵니다. |
get | Namespace | Element 노드의 네임스페이스를 가져옵니다. |
get | Namespace | Element 노드의 지정된 접두사가 있는 네임스페이스를 가져옵니다. |
get | Element|null | 노드의 상위 Element 노드를 가져옵니다. |
get | String | Element 노드의 로컬 이름과 네임스페이스 접두사를 [namespacePrefix]:[localName] 형식으로 가져옵니다. |
get | String | Element 노드의 텍스트 값을 가져옵니다. |
get | String | 문서에 표시되는 순서대로 노드의 직계 또는 비직계 하위 요소인 모든 노드의 텍스트 값을 가져옵니다. |
is | Boolean | 이 Element 노드가 지정된 Element 노드의 직접 또는 간접 상위 요소인지 확인합니다. |
is | Boolean | Element 노드가 문서의 루트 노드인지 확인합니다. |
remove | Boolean | 이 Element 노드에 지정된 속성이 있는 경우 삭제합니다. |
remove | Boolean | 이름이 지정되고 네임스페이스가 없는 이 Element 노드의 속성을 삭제합니다(이러한 속성이 있는 경우). |
remove | Boolean | 이 Element 노드의 속성을 지정된 이름과 네임스페이스로 삭제합니다(이러한 속성이 있는 경우). |
remove | Content[] | {@code Element} 노드의 직계 하위 노드를 모두 삭제합니다. |
remove | Boolean | 노드가 {@code Element} 노드의 바로 아래 하위 노드인 경우 지정된 노드를 삭제합니다. |
remove | Content|null | {@code Element} 노드의 직계 하위 노드 중 지정된 색인의 노드를 삭제합니다. |
set | Element | 이 Element 노드의 지정된 속성을 설정합니다. |
set | Element | 지정된 이름, 값, 네임스페이스가 없는 이 Element 노드의 속성을 설정합니다. |
set | Element | 지정된 이름, 값, 네임스페이스로 이 Element 노드의 속성을 설정합니다. |
set | Element | Element 노드의 로컬 이름을 설정합니다. |
set | Element | Element 노드의 네임스페이스를 설정합니다. |
set | Element | Element 노드의 텍스트 값을 설정합니다. |
Entity Ref
메서드
| 메서드 | 반환 유형 | 간략한 설명 |
|---|---|---|
detach() | Content|null | 노드를 상위 Element 노드에서 분리합니다. |
get | String | Entity 노드의 이름을 가져옵니다. |
get | Element|null | 노드의 상위 Element 노드를 가져옵니다. |
get | String|null | Entity 노드의 공개 ID를 가져옵니다. |
get | String|null | Entity 노드의 시스템 ID를 가져옵니다. |
get | String | 문서에 표시되는 순서대로 노드의 직계 또는 비직계 하위 요소인 모든 노드의 텍스트 값을 가져옵니다. |
set | Entity | Entity 노드의 이름을 설정합니다. |
set | Entity | Entity 노드의 공개 ID를 설정합니다. |
set | Entity | Entity 노드의 시스템 ID를 설정합니다. |
Format
메서드
| 메서드 | 반환 유형 | 간략한 설명 |
|---|---|---|
format(document) | String | 지정된 Document을 형식이 지정된 문자열로 출력합니다. |
format(element) | String | 지정된 Element 노드를 형식이 지정된 문자열로 출력합니다. |
set | Format | 포맷터가 사용해야 하는 문자 인코딩을 설정합니다. |
set | Format | 상위 요소에 상대적으로 하위 노드를 들여쓰는 데 사용되는 문자열을 설정합니다. |
set | Format | 포매터가 일반적으로 줄바꿈을 삽입할 때마다 삽입할 문자열을 설정합니다. |
set | Format | 포맷터가 XML 선언(예: <?xml version="1.0"
encoding="UTF-8"?>)을 생략해야 하는지 여부를 설정합니다. |
set | Format | 포맷터가 XML 선언에서 인코딩을 생략해야 하는지 여부를 설정합니다(예: <?xml version="1.0" encoding="UTF-8"?>의 인코딩 필드). |
Namespace
메서드
| 메서드 | 반환 유형 | 간략한 설명 |
|---|---|---|
get | String | 네임스페이스의 접두사를 가져옵니다. |
get | String | 네임스페이스의 URI를 가져옵니다. |
Processing Instruction
메서드
| 메서드 | 반환 유형 | 간략한 설명 |
|---|---|---|
detach() | Content|null | 노드를 상위 Element 노드에서 분리합니다. |
get | String | Processing 노드의 모든 명령의 원시 데이터를 가져옵니다. |
get | Element|null | 노드의 상위 Element 노드를 가져옵니다. |
get | String | Processing 노드의 타겟을 가져옵니다. |
get | String | 문서에 표시되는 순서대로 노드의 직계 또는 비직계 하위 요소인 모든 노드의 텍스트 값을 가져옵니다. |
Text
메서드
| 메서드 | 반환 유형 | 간략한 설명 |
|---|---|---|
append(text) | Text | 노드에 이미 있는 콘텐츠에 지정된 텍스트를 추가합니다. |
detach() | Content|null | 노드를 상위 Element 노드에서 분리합니다. |
get | Element|null | 노드의 상위 Element 노드를 가져옵니다. |
get | String | Text 노드의 텍스트 값을 가져옵니다. |
get | String | 문서에 표시되는 순서대로 노드의 직계 또는 비직계 하위 요소인 모든 노드의 텍스트 값을 가져옵니다. |
set | Text | Text 노드의 텍스트 값을 설정합니다. |
Xml Service
속성
| 속성 | 유형 | 설명 |
|---|---|---|
Content | Content | XML 콘텐츠 노드 유형을 나타내는 열거형입니다. |