XML Service

XML 서비스

이 서비스를 사용하면 스크립트를 파싱 및 탐색하고 프로그래매틱 방식으로 만들 수 있습니다. 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);
}

클래스

이름간략한 설명
AttributeXML 속성의 표현입니다.
CdataXML CDATASection 노드의 표현입니다.
CommentXML Comment 노드의 표현입니다.
Content일반 XML 노드의 표현입니다.
ContentTypeXML 콘텐츠 노드의 유형을 나타내는 열거형입니다.
DocTypeXML DocumentType 노드의 표현입니다.
DocumentXML 문서를 나타냅니다.
ElementXML Element 노드의 표현입니다.
EntityRefXML EntityReference 노드의 표현입니다.
FormatXML 문서를 출력하기 위한 형식 지정 도구로, 추가로 지정할 수 있는 세 가지 사전 정의된 형식이 있습니다. 맞춤설정할 수 있습니다.
NamespaceXML 네임스페이스의 표현입니다.
ProcessingInstructionXML ProcessingInstruction 노드의 표현입니다.
TextXML Text 노드의 표현입니다.
XmlService이 서비스를 사용하면 스크립트에서 XML 문서를 파싱하고 탐색하고 프로그래매틱 방식으로 만들 수 있습니다.

Attribute

메서드

메서드반환 유형간략한 설명
getName()String속성의 로컬 이름을 가져옵니다.
getNamespace()Namespace속성의 네임스페이스를 가져옵니다.
getValue()String속성의 값을 가져옵니다.
setName(name)Attribute속성의 로컬 이름을 설정합니다.
setNamespace(namespace)Attribute속성의 네임스페이스를 설정합니다.
setValue(value)Attribute속성의 값을 설정합니다.

Cdata

메서드

메서드반환 유형간략한 설명
append(text)Text노드에 이미 있는 콘텐츠에 지정된 텍스트를 추가합니다.
detach()Content상위 Element 노드에서 노드를 분리합니다.
getParentElement()Element노드의 상위 Element 노드를 가져옵니다.
getText()StringText 노드의 텍스트 값을 가져옵니다.
getValue()String노드의 직속 또는 간접 하위 노드인 모든 노드의 텍스트 값을 순서대로 가져옵니다. 문서에 표시됩니다.
setText(text)TextText 노드의 텍스트 값을 설정합니다.

Comment

메서드

메서드반환 유형간략한 설명
detach()Content상위 Element 노드에서 노드를 분리합니다.
getParentElement()Element노드의 상위 Element 노드를 가져옵니다.
getText()StringComment 노드의 텍스트 값을 가져옵니다.
getValue()String노드의 직속 또는 간접 하위 노드인 모든 노드의 텍스트 값을 순서대로 가져옵니다. 문서에 표시됩니다.
setText(text)CommentComment 노드의 텍스트 값을 설정합니다.

Content

메서드

메서드반환 유형간략한 설명
asCdata()Cdata자동 완성을 위해 노드를 CDATASection 노드로 변환합니다.
asComment()Comment자동 완성을 위해 노드를 Comment 노드로 변환합니다.
asDocType()DocType자동 완성을 위해 노드를 DocumentType 노드로 변환합니다.
asElement()Element자동 완성을 위해 노드를 Element 노드로 변환합니다.
asEntityRef()EntityRef자동 완성을 위해 노드를 EntityReference 노드로 변환합니다.
asProcessingInstruction()ProcessingInstruction자동 완성을 위해 노드를 ProcessingInstruction 노드로 변환합니다.
asText()Text자동 완성을 위해 노드를 Text 노드로 변환합니다.
detach()Content상위 Element 노드에서 노드를 분리합니다.
getParentElement()Element노드의 상위 Element 노드를 가져옵니다.
getType()ContentType노드의 콘텐츠 유형을 가져옵니다.
getValue()String노드의 직속 또는 간접 하위 노드인 모든 노드의 텍스트 값을 순서대로 가져옵니다. 문서에 표시됩니다.

ContentType

속성

속성유형설명
CDATAEnumXML CDATASection 노드입니다.
COMMENTEnumXML Comment 노드입니다.
DOCTYPEEnumXML DocumentType 노드입니다.
ELEMENTEnumXML Element 노드입니다.
ENTITYREFEnumXML EntityReference 노드입니다.
PROCESSINGINSTRUCTIONEnumXML ProcessingInstruction 노드입니다.
TEXTEnumXML Text 노드입니다.

DocType

메서드

메서드반환 유형간략한 설명
detach()Content상위 Element 노드에서 노드를 분리합니다.
getElementName()StringDocType 선언에 지정된 루트 Element 노드의 이름을 가져옵니다.
getInternalSubset()StringDocumentType 노드의 내부 하위 집합 데이터를 가져옵니다.
getParentElement()Element노드의 상위 Element 노드를 가져옵니다.
getPublicId()StringDocumentType 노드에 대한 외부 하위 집합 데이터의 공개 ID를 가져옵니다.
getSystemId()StringDocumentType 노드용 외부 하위 집합 데이터의 시스템 ID를 가져옵니다.
getValue()String노드의 직속 또는 간접 하위 노드인 모든 노드의 텍스트 값을 순서대로 가져옵니다. 문서에 표시됩니다.
setElementName(name)DocTypeDocType에 지정할 루트 Element 노드의 이름을 설정합니다. 선언했습니다.
setInternalSubset(data)DocTypeDocumentType 노드의 내부 하위 집합 데이터를 설정합니다.
setPublicId(id)DocTypeDocumentType 노드에 대한 외부 하위 집합 데이터의 공개 ID를 설정합니다.
setSystemId(id)DocTypeDocumentType 노드에 대한 외부 하위 집합 데이터의 시스템 ID를 설정합니다.

Document

메서드

메서드반환 유형간략한 설명
addContent(content)Document지정된 노드를 문서의 끝에 추가합니다.
addContent(index, content)Document다음 항목의 직계 하위 노드인 모든 노드 중에서 지정된 색인에 지정된 노드를 삽입합니다. 문서를 참조하세요.
cloneContent()Content[]문서의 바로 하위 항목인 모든 노드의 연결되지 않은 사본을 만듭니다.
detachRootElement()Element문서의 루트 Element 노드를 분리하고 반환합니다.
getAllContent()Content[]문서의 직계 하위 요소인 모든 노드를 가져옵니다.
getContent(index)Content다음 항목의 직계 하위 노드인 모든 노드 중에서 지정된 색인의 노드를 문서를 참조하세요.
getContentSize()Integer문서의 직계 하위 노드인 노드 수를 가져옵니다.
getDescendants()Content[]문서의 직접 또는 간접 하위 요소인 모든 노드를 순서대로 가져옵니다. 문서에 표시됩니다.
getDocType()DocType문서의 DocType 선언을 가져옵니다.
getRootElement()Element문서의 루트 Element 노드를 가져옵니다.
hasRootElement()Boolean문서에 루트 Element 노드가 있는지 확인합니다.
removeContent()Content[]문서의 직계 하위에 있는 모든 노드를 삭제합니다.
removeContent(content)Boolean노드가 문서의 직계 하위 요소인 경우 지정된 노드를 삭제합니다.
removeContent(index)Content다음 색인의 직계 하위에 있는 모든 노드 중에서 지정된 색인에서 문서를 참조하세요.
setDocType(docType)Document문서의 DocType 선언을 설정합니다.
setRootElement(element)Document문서의 루트 Element 노드를 설정합니다.

Element

메서드

메서드반환 유형간략한 설명
addContent(content)Element지정된 노드를 Element 노드의 마지막 하위 요소로 추가합니다.
addContent(index, content)Element다음 항목의 직계 하위 노드인 모든 노드 중에서 지정된 색인에 지정된 노드를 삽입합니다. 노드 Element
cloneContent()Content[]{@code Element} 노드의 바로 하위 노드인 모든 노드의 연결되지 않은 복사본을 생성합니다.
detach()Content상위 Element 노드에서 노드를 분리합니다.
getAllContent()Content[]{@code Element} 노드의 바로 하위 요소인 모든 노드를 가져옵니다.
getAttribute(name)Attribute지정된 이름만 있고 네임스페이스는 없는 이 Element 노드의 속성을 가져옵니다.
getAttribute(name, namespace)Attribute지정된 이름 및 네임스페이스로 이 Element 노드의 속성을 가져옵니다.
getAttributes()Attribute[]Element 노드의 모든 속성을 문서에 표시된 순서대로 가져옵니다.
getChild(name)Element지정된 이름이 있고 즉시 네임스페이스가 없는 첫 번째 Element 노드를 가져옵니다. 이 Element 노드의 하위 요소입니다.
getChild(name, namespace)Element즉시 지정된 이름 및 네임스페이스가 있는 첫 번째 Element 노드를 가져옵니다. 이 Element 노드의 하위 요소입니다.
getChildText(name)String노드가 다음과 같은 경우 노드의 텍스트 값을 가져옵니다. Element 노드의 직계 하위 요소입니다.
getChildText(name, namespace)String노드가 즉시 노드인 경우, 지정된 이름 및 네임스페이스를 가진 노드의 텍스트 값을 가져옵니다. Element 노드의 하위 요소입니다.
getChildren()Element[]다음에서 이 Element 노드의 직계 하위 요소인 모든 Element 노드를 가져옵니다. 순서대로 해야 합니다.
getChildren(name)Element[]지정된 이름을 사용하고 직계 하위 요소인 네임스페이스는 없는 모든 Element 노드를 가져옵니다. 이 Element 노드의 모든 속성을 문서에 표시된 순서대로 표시합니다.
getChildren(name, namespace)Element[]지정된 이름 및 네임스페이스가 있는 모든 Element 노드를 가져옵니다. 이 노드에는 이 Element 노드에 할당되며 문서에 표시된 순서대로 생성됩니다.
getContent(index)Content다음 항목의 직계 하위 노드인 모든 노드 중에서 지정된 색인의 노드를 {@code Element} 노드.
getContentSize()Integer{@code Element} 노드의 직계 하위 노드인 노드 수를 가져옵니다.
getDescendants()Content[]{@code Element} 노드의 직간접 하위 노드인 모든 노드를 순서대로 가져옵니다. 문서에 표시됩니다.
getDocument()Document{@code Element} 노드를 포함하는 XML 문서를 가져옵니다.
getName()StringElement 노드의 로컬 이름을 가져옵니다.
getNamespace()NamespaceElement 노드의 네임스페이스를 가져옵니다.
getNamespace(prefix)NamespaceElement 노드의 지정된 프리픽스가 있는 네임스페이스를 가져옵니다.
getParentElement()Element노드의 상위 Element 노드를 가져옵니다.
getQualifiedName()StringElement 노드의 로컬 이름과 네임스페이스 프리픽스를 [namespacePrefix]:[localName] 형식으로 가져옵니다.
getText()StringElement 노드의 텍스트 값을 가져옵니다.
getValue()String노드의 직속 또는 간접 하위 노드인 모든 노드의 텍스트 값을 순서대로 가져옵니다. 문서에 표시됩니다.
isAncestorOf(other)BooleanElement 노드가 지정된 Element 노드의 직접 상위 요소인지 간접 상위 요소인지를 결정합니다.
isRootElement()BooleanElement 노드가 문서의 루트 노드인지를 확인합니다.
removeAttribute(attribute)BooleanElement 노드에 지정된 속성이 있는 경우 해당 속성을 삭제합니다.
removeAttribute(attributeName)Boolean다음과 같은 경우 네임스페이스가 지정되고 이름이 지정된 이 Element 노드의 속성을 삭제합니다. 이러한 속성이 존재하는지 확인하세요.
removeAttribute(attributeName, namespace)Boolean지정된 이름 및 네임스페이스가 있는 경우 이 Element 노드의 속성을 삭제합니다. 속성이 존재하는 경우
removeContent()Content[]{@code Element} 노드의 바로 하위 노드인 모든 노드를 제거합니다.
removeContent(content)Boolean노드가 {@code Element} 노드의 바로 하위 노드인 경우 제공된 노드를 삭제합니다.
removeContent(index)Content다음 색인의 직계 하위에 있는 모든 노드 중에서 지정된 색인에서 {@code Element} 노드.
setAttribute(attribute)ElementElement 노드에 지정된 속성을 설정합니다.
setAttribute(name, value)Element지정된 이름, 값, 네임스페이스 없이 이 Element 노드의 속성을 설정합니다.
setAttribute(name, value, namespace)Element지정된 이름, 값 및 네임스페이스를 사용하여 이 Element 노드의 속성을 설정합니다.
setName(name)ElementElement 노드의 로컬 이름을 설정합니다.
setNamespace(namespace)ElementElement 노드의 네임스페이스를 설정합니다.
setText(text)ElementElement 노드의 텍스트 값을 설정합니다.

EntityRef

메서드

메서드반환 유형간략한 설명
detach()Content상위 Element 노드에서 노드를 분리합니다.
getName()StringEntityReference 노드의 이름을 가져옵니다.
getParentElement()Element노드의 상위 Element 노드를 가져옵니다.
getPublicId()StringEntityReference 노드의 공개 ID를 가져옵니다.
getSystemId()StringEntityReference 노드의 시스템 ID를 가져옵니다.
getValue()String노드의 직속 또는 간접 하위 노드인 모든 노드의 텍스트 값을 순서대로 가져옵니다. 문서에 표시됩니다.
setName(name)EntityRefEntityReference 노드의 이름을 설정합니다.
setPublicId(id)EntityRefEntityReference 노드의 공개 ID를 설정합니다.
setSystemId(id)EntityRefEntityReference 노드의 시스템 ID를 설정합니다.

Format

메서드

메서드반환 유형간략한 설명
format(document)String지정된 Document를 형식이 지정된 문자열로 출력합니다.
format(element)String지정된 Element 노드를 형식이 지정된 문자열로 출력합니다.
setEncoding(encoding)Format형식 지정 도구가 사용해야 하는 문자 인코딩을 설정합니다.
setIndent(indent)Format상위 노드를 기준으로 하위 노드를 들여쓰기하는 데 사용되는 문자열을 설정합니다.
setLineSeparator(separator)Format형식 지정 도구가 일반적으로 줄바꿈을 삽입할 때마다 삽입할 문자열을 설정합니다.
setOmitDeclaration(omitDeclaration)Format형식 지정 도구에서 XML 선언을 생략해야 하는지 여부를 설정합니다(예: <?xml version="1.0" encoding="UTF-8"?>).
setOmitEncoding(omitEncoding)Format형식 지정 도구가 XML 선언에서 인코딩을 생략해야 하는지 여부를 설정합니다(예: <?xml version="1.0" encoding="UTF-8"?>의 인코딩 필드입니다.

Namespace

메서드

메서드반환 유형간략한 설명
getPrefix()String네임스페이스의 프리픽스를 가져옵니다.
getURI()String네임스페이스의 URI를 가져옵니다.

ProcessingInstruction

메서드

메서드반환 유형간략한 설명
detach()Content상위 Element 노드에서 노드를 분리합니다.
getData()StringProcessingInstruction 노드에 있는 모든 명령어의 원시 데이터를 가져옵니다.
getParentElement()Element노드의 상위 Element 노드를 가져옵니다.
getTarget()StringProcessingInstruction 노드의 타겟을 가져옵니다.
getValue()String노드의 직속 또는 간접 하위 노드인 모든 노드의 텍스트 값을 순서대로 가져옵니다. 문서에 표시됩니다.

Text

메서드

메서드반환 유형간략한 설명
append(text)Text노드에 이미 있는 콘텐츠에 지정된 텍스트를 추가합니다.
detach()Content상위 Element 노드에서 노드를 분리합니다.
getParentElement()Element노드의 상위 Element 노드를 가져옵니다.
getText()StringText 노드의 텍스트 값을 가져옵니다.
getValue()String노드의 직속 또는 간접 하위 노드인 모든 노드의 텍스트 값을 순서대로 가져옵니다. 문서에 표시됩니다.
setText(text)TextText 노드의 텍스트 값을 설정합니다.

XmlService

속성

속성유형설명
ContentTypesContentTypeXML 콘텐츠 노드의 유형을 나타내는 열거형입니다.

메서드

메서드반환 유형간략한 설명
createCdata(text)Cdata지정된 값으로 연결되지 않은 CDATASection 노드를 만듭니다.
createComment(text)Comment지정된 값으로 연결되지 않은 Comment 노드를 만듭니다.
createDocType(elementName)DocType루트 Element 노드에 연결되지 않은 DocumentType 노드를 만듭니다. 합니다.
createDocType(elementName, systemId)DocType루트 Element 노드에 연결되지 않은 DocumentType 노드를 만듭니다. 지정된 이름 및 외부 하위 집합 데이터의 지정된 시스템 ID를 사용합니다.
createDocType(elementName, publicId, systemId)DocType루트 Element 노드에 연결되지 않은 DocumentType 노드를 만듭니다. 외부 하위 집합 데이터의 지정된 공개 ID 및 시스템 ID를 반환합니다.
createDocument()Document빈 XML 문서를 만듭니다.
createDocument(rootElement)Document지정된 루트 Element 노드를 사용하여 XML 문서를 만듭니다.
createElement(name)Element지정된 로컬 이름을 사용하고 네임스페이스는 없는 연결되지 않은 Element 노드를 만듭니다.
createElement(name, namespace)Element지정된 로컬 이름과 네임스페이스를 사용하여 연결되지 않은 Element 노드를 만듭니다.
createText(text)Text지정된 값으로 연결되지 않은 Text 노드를 만듭니다.
getCompactFormat()Format간단한 XML 문서를 출력하기 위한 Format 객체를 만듭니다.
getNamespace(uri)Namespace지정된 URI로 Namespace를 만듭니다.
getNamespace(prefix, uri)Namespace지정된 접두사와 URI로 Namespace를 만듭니다.
getNoNamespace()Namespace실제 네임스페이스의 부재를 나타내는 Namespace를 만듭니다.
getPrettyFormat()Format사람이 읽을 수 있는 XML 문서를 출력하기 위한 Format 객체를 만듭니다.
getRawFormat()Format원시 XML 문서를 출력하기 위한 Format 객체를 만듭니다.
getXmlNamespace()Namespace표준 xml 접두사를 사용하여 Namespace를 만듭니다.
parse(xml)DocumentXML의 유효성을 검사하지 않고 지정된 XML에서 Document를 만듭니다.