이 서비스를 사용하면 스크립트에서 XML 문서를 파싱하고 탐색하고 프로그래매틱 방식으로 만들 수 있습니다.
// Log the title and labels for the first page of blog posts on the // Google Workspace Developer blog. function parseXml() { var url = 'https://gsuite-developers.googleblog.com/atom.xml'; var xml = UrlFetchApp.fetch(url).getContentText(); var document = XmlService.parse(xml); var root = document.getRootElement(); var atom = XmlService.getNamespace('http://www.w3.org/2005/Atom'); var entries = root.getChildren('entry', atom); for (var i = 0; i < entries.length; i++) { var title = entries[i].getChild('title', atom).getText(); var categoryElements = entries[i].getChildren('category', atom); var labels = []; for (var j = 0; j < categoryElements.length; j++) { labels.push(categoryElements[j].getAttribute('term').getValue()); } Logger.log('%s (%s)', title, labels.join(', ')); } } // Create and log an XML representation of the threads in your Gmail inbox. function createXml() { var root = XmlService.createElement('threads'); var threads = GmailApp.getInboxThreads(); for (var i = 0; i < threads.length; i++) { var child = XmlService.createElement('thread') .setAttribute('messageCount', threads[i].getMessageCount()) .setAttribute('isUnread', threads[i].isUnread()) .setText(threads[i].getFirstMessageSubject()); root.addContent(child); } var document = XmlService.createDocument(root); var xml = XmlService.getPrettyFormat().format(document); Logger.log(xml); }
속성
속성 | 유형 | 설명 |
---|---|---|
ContentTypes | ContentType | XML 콘텐츠 노드의 유형을 나타내는 열거형입니다. |
방법
자세한 문서
createCdata(text)
createComment(text)
createDocType(elementName)
지정된 이름으로 루트 Element
노드에 연결되지 않은 DocumentType
노드를 만듭니다.
매개변수
이름 | 유형 | 설명 |
---|---|---|
elementName | String | DocType 선언에서 지정할 루트 Element 노드의 이름 |
리턴
DocType
: 새로 생성된 DocumentType
노드
createDocType(elementName, systemId)
지정된 이름의 루트 Element
노드에 대한 연결되지 않은 DocumentType
노드와 외부 하위 집합 데이터에 대해 지정된 시스템 ID를 만듭니다.
매개변수
이름 | 유형 | 설명 |
---|---|---|
elementName | String | DocType 선언에서 지정할 루트 Element 노드의 이름 |
systemId | String | 설정할 외부 하위 집합 데이터의 시스템 ID |
리턴
DocType
: 새로 생성된 DocumentType
노드
createDocType(elementName, publicId, systemId)
지정된 이름을 사용하여 루트 Element
노드에 대한 연결되지 않은 DocumentType
노드를 만들고 외부 하위 집합 데이터에 대해 지정된 공개 ID와 시스템 ID를 만듭니다.
매개변수
이름 | 유형 | 설명 |
---|---|---|
elementName | String | DocType 선언에서 지정할 루트 Element 노드의 이름 |
publicId | String | 설정할 외부 하위 집합 데이터의 공개 ID |
systemId | String | 설정할 외부 하위 집합 데이터의 시스템 ID |
리턴
DocType
: 새로 생성된 DocumentType
노드
createDocument()
createDocument(rootElement)
createElement(name)
createElement(name, namespace)
getCompactFormat()
간단한 XML 문서를 출력하기 위한 Format
객체를 만듭니다. 형식 지정 도구는 기본적으로 UTF-8
인코딩을 사용하고, 들여쓰기하지 않고, 추가 줄바꿈을 포함하지 않지만 XML 선언과 인코딩을 포함합니다.
// Log an XML document in compact form. var xml = '<root><a><b>Text!</b><b>More text!</b></a></root>'; var document = XmlService.parse(xml); var output = XmlService.getCompactFormat() .format(document); Logger.log(output);
리턴
Format
: 새로 만든 형식 지정 도구
getNamespace(uri)
getNamespace(prefix, uri)
getPrettyFormat()
사람이 읽을 수 있는 XML 문서를 출력하기 위한 Format
객체를 만듭니다. 형식 지정 도구는 기본적으로 UTF-8
인코딩, 2칸 들여쓰기 간격, 모든 노드 뒤에 \r\n
줄 구분자를 사용하며 XML 선언과 인코딩을 포함합니다.
// Log an XML document in human-readable form. var xml = '<root><a><b>Text!</b><b>More text!</b></a></root>'; var document = XmlService.parse(xml); var output = XmlService.getPrettyFormat() .format(document); Logger.log(output);
리턴
Format
: 새로 만든 형식 지정 도구
getRawFormat()
원시 XML 문서를 출력하기 위한 Format
객체를 만듭니다. 형식 지정 도구는 기본적으로 UTF-8
인코딩을 사용하고, 들여쓰기가 없고, XML 문서 자체에서 제공된 것 외에는 줄바꿈이 없으며, XML 선언과 인코딩을 포함합니다.
// Log an XML document in raw form. var xml = '<root><a><b>Text!</b><b>More text!</b></a></root>'; var document = XmlService.parse(xml); var output = XmlService.getRawFormat() .format(document); Logger.log(output);
리턴
Format
: 새로 만든 형식 지정 도구