개체 내장 개체

ObjectXml문서

Xml문서는 xml전체 XML 문서를 나타내고 전체 문서에 대한 액세스를 제공하는 모듈의 개체

XmlDocument는 전체 XML 문서의 모든 노드를 포함하는 문서 트리의 루트입니다. XmlDocument 개체는 다음 기능도 제공합니다.

  1. 요소 노드, 텍스트 노드, 주석, 처리 명령 등을 만듭니다.
  2. 문서 속성 및 관련 정보(예: DTD 주석 및 문서 선언) 액세스 및 수정
  3. XML 문서 구문 분석

다음은 XmlDocument 개체를 사용하여 XML 문서를 구문 분석하기 위한 샘플 코드입니다.

1 2 3 4 5 6 7 8 9
var xml = require('xml'); var fs = require('fs'); var xmlStr = fs.readFile('test.xml'); var xmlDoc = xml.parse(xmlStr); // get document root node name var rootName = xmlDoc.documentElement.nodeName; console.log(`文档根节点名称是 ${rootName}`);

위의 코드에서 먼저 fs모듈 readFile()메서드를 사용하여 XML 파일을 읽고 파일 스트림을 변수에 할당합니다 xmlStr. [xml](../../module/ifs/xml.md)그런 다음 parse()모듈의 메서드를 사용하여 XML 파일을 구문 분석하고 구문 분석된 XmlDocument개체를 xmlDoc. 마지막으로 속성을 xmlDoc사용하여 문서 루트 노드를 가져오고 노드 이름을 가져와 콘솔에 출력합니다.documentElement

XmlDocument는 전체 XML 문서의 항목이므로 이를 통해 문서의 관련 정보를 얻고 수정할 수 있습니다. 예를 xmlDoc.xmlVersion들어 xmlDoc.xmlStandalone및 각각을 통해 문서의 XML 버전 및 독립 실행형 특성을 가져오고 수정할 수 있습니다. xmlDoc.createProcessingInstruction()방법을 통해 새로운 처리 명령 노드를 생성할 수도 있습니다 .

XmlDocument 개체는 XML 파일을 처리하고 구문 분석하는 데 큰 편리함을 제공하는 매우 강력한 유형입니다.

상속 관계

건설자

XmlDocument

XmlDocument 개체를 구성합니다.

1
new XmlDocument(String type = "text/xml");

호출 매개변수:

  • type: 문자열, 문서 객체의 유형 지정, 기본값은 "텍스트/xml", html을 처리해야 하는 경우 "text/html"을 지정해야 합니다.

구성원 속성

inputEncoding

문자열, 문서에 사용된 인코딩을 반환합니다(구문 분석 시).

1
readonly String XmlDocument.inputEncoding;

xmlStandalone

부울, 문서가 독립형인지 여부를 설정하거나 반환합니다.

1
Boolean XmlDocument.xmlStandalone;

xmlVersion

문자열, 문서의 XML 버전 설정 또는 반환

1
String XmlDocument.xmlVersion;

doctype

XmlDocumentType, 문서와 관련된 문서 유형 선언을 반환합니다.

1
readonly XmlDocumentType XmlDocument.doctype;

DTD가 없는 XML 문서의 경우 null을 반환합니다. 이 속성은 다음을 제공합니다.XmlDocumentType직접 액세스를 위한 객체( XmlDocument 의 자식 노드).


documentElement

XmlElement, 문서의 루트 노드를 반환합니다.

1
readonly XmlElement XmlDocument.documentElement;

XmlElement, HTML 문서의 헤드 노드를 반환하며 html 모드에서만 유효합니다.

1
readonly XmlElement XmlDocument.head;

title

문자열, HTML 문서의 제목 노드 내용을 반환하며 html 모드에서만 유효합니다.

1
readonly String XmlDocument.title;

body

XmlElement, HTML 문서의 본문 노드를 반환하며 html 모드에서만 유효합니다.

1
readonly XmlElement XmlDocument.body;

nodeType

정수, 반환된 노드의 노드 유형

1
readonly Integer XmlDocument.nodeType;

다른 객체의 nodeType은 다른 값을 반환합니다.


nodeName

문자열, 해당 유형에 따라 노드의 이름을 반환합니다.

1
readonly String XmlDocument.nodeName;

다른 객체의 nodeName은 다른 값을 반환합니다.


nodeValue

문자열, 해당 유형에 따라 노드의 이름을 반환합니다.

1
String XmlDocument.nodeValue;

다른 객체의 nodeName은 다른 값을 반환합니다.


ownerDocument

XmlDocument는 노드의 루트 요소(XmlDocument 개체)를 반환합니다.

1
readonly XmlDocument XmlDocument.ownerDocument;

parentNode

XmlNode, 노드의 부모 노드를 반환합니다.

1
readonly XmlNode XmlDocument.parentNode;

childNodes

XmlNodeList, 지정된 노드의 자식인 노드 목록을 반환합니다.

1
readonly XmlNodeList XmlDocument.childNodes;

children

XmlNodeList, 지정된 노드의 자식 요소 노드의 노드 목록을 반환합니다.

1
readonly XmlNodeList XmlDocument.children;

firstChild

XmlNode, 노드의 첫 번째 하위 노드를 반환합니다.

1
readonly XmlNode XmlDocument.firstChild;

lastChild

XmlNode, 노드의 마지막 자식 노드를 반환합니다.

1
readonly XmlNode XmlDocument.lastChild;

previousSibling

XmlNode, 노드 바로 앞의 노드를 반환합니다(동일한 트리 수준에서). 해당 노드가 없으면 이 속성은 null을 반환합니다.

1
readonly XmlNode XmlDocument.previousSibling;

nextSibling

XmlNode, 요소 바로 뒤에 있는 노드를 반환합니다(동일한 트리 계층 구조에서). 이러한 노드가 없으면 속성은 null을 반환합니다.

1
readonly XmlNode XmlDocument.nextSibling;

firstElementChild

XmlNode, 노드의 첫 번째 하위 요소 노드를 반환합니다.

1
readonly XmlNode XmlDocument.firstElementChild;

lastElementChild

XmlNode, 노드의 마지막 하위 요소 노드를 반환합니다.

1
readonly XmlNode XmlDocument.lastElementChild;

previousElementSibling

XmlNode, 노드 바로 앞에 있는 요소 노드를 반환합니다(동일한 트리 수준에서). 해당 노드가 없으면 이 속성은 null을 반환합니다.

1
readonly XmlNode XmlDocument.previousElementSibling;

nextElementSibling

XmlNode, 요소 바로 뒤에 있는 요소 노드를 반환합니다(동일한 트리 계층에서). 이러한 노드가 없으면 속성은 null을 반환합니다.

1
readonly XmlNode XmlDocument.nextElementSibling;

textContent

문자열, 선택한 요소의 텍스트를 쿼리하고 설정합니다. 질의 시 요소 노드 내 모든 텍스트 노드의 값을 반환하며, 설정 시 모든 자식 노드를 삭제하고 단일 텍스트 노드로 교체합니다.

1
String XmlDocument.textContent;

멤버 함수

load

XML/HTML 문자열을 구문 분석하여 문서를 작성합니다. 다국어는 지원하지 않습니다.

1
XmlDocument.load(String source);

호출 매개변수:

  • source: 문자열, 문서가 생성될 때 유형에 따라 구문 분석할 XML/HTML 텍스트

바이너리 XML/HTML 문자열을 파싱하여 문서를 작성하고 언어에 따라 자동 변환

1
XmlDocument.load(Buffer source);

호출 매개변수:

  • source:Buffer, 문서가 생성될 때 유형에 따라 구문 분석할 XML/HTML 텍스트

getElementsByTagName

지정된 이름을 가진 모든 요소의 노드 목록을 반환합니다.

1
XmlNodeList XmlDocument.getElementsByTagName(String tagName);

호출 매개변수:

  • tagName: 문자열, 검색할 태그 이름입니다. "*" 값은 모든 태그와 일치합니다.

반환 결과:

  • XmlNodeList, 지정된 태그가 있는 문서 트리에서XmlElement마디XmlNodeList모으다. 반환된 요소 노드는 소스 문서에 나타나는 순서대로입니다.

이 메소드는XmlNodeList모든 객체를 보유하는 객체(읽기 전용 배열로 취급될 수 있음)XmlElement노드는 소스 문서에 나타나는 순서대로 저장됩니다.XmlNodeList개체는 "라이브"입니다. 즉, 지정된 태그 이름을 가진 요소가 문서에서 추가되거나 제거되면 해당 내용이 필요에 따라 자동으로 업데이트됩니다.


getElementsByTagNameNS

지정된 네임스페이스와 이름을 가진 모든 요소의 노드 목록을 반환합니다.

1 2
XmlNodeList XmlDocument.getElementsByTagNameNS(String namespaceURI, String localName);

호출 매개변수:

  • namespaceURI: 문자열, 검색된 네임스페이스 URI를 지정합니다. "*" 값은 모든 태그와 일치합니다.
  • localName: 문자열, 검색할 태그 이름입니다. "*" 값은 모든 태그와 일치합니다.

반환 결과:

  • XmlNodeList, 지정된 태그가 있는 문서 트리에서XmlElement마디XmlNodeList모으다. 반환된 요소 노드는 소스 문서에 나타나는 순서대로입니다.

이 메서드는 네임스페이스 및 이름별로 요소를 검색한다는 점을 제외하면 getElementsByTagName() 메서드와 유사합니다.


getElementById

지정된 id 속성을 가진 요소를 반환합니다.

1
XmlElement XmlDocument.getElementById(String id);

호출 매개변수:

  • id: 문자열, 검색할 id

반환 결과:

이 메서드는 문서의 하위 노드를 순회하고XmlElement지정된 id 속성을 가진 첫 번째 문서 요소를 나타내는 노드 객체입니다. .


getElementsByClassName

지정된 클래스 이름을 가진 모든 요소의 노드 목록을 반환합니다.

1
XmlNodeList XmlDocument.getElementsByClassName(String className);

호출 매개변수:

  • className: 문자열, 검색할 클래스의 이름

반환 결과:

  • XmlNodeList, 문서 트리에 지정된 클래스 이름 포함XmlElement마디XmlNodeList모으다. 반환된 요소 노드는 소스 문서에 나타나는 순서대로입니다.

이 메소드는XmlNodeList지정된 클래스 이름을 가진 모든 문서를 보유하는 객체(읽기 전용 배열로 취급될 수 있음)XmlElement노드는 소스 문서에 나타나는 순서대로 저장됩니다.XmlNodeList개체는 "라이브"입니다. 즉, 지정된 태그 이름을 가진 요소가 문서에서 추가되거나 제거되면 해당 내용이 필요에 따라 자동으로 업데이트됩니다.


createElement

요소 노드 생성

1
XmlElement XmlDocument.createElement(String tagName);

호출 매개변수:

  • tagName: 문자열, 요소 노드의 지정된 이름을 지정합니다.

반환 결과:


createElementNS

지정된 네임스페이스로 요소 노드를 만듭니다.

1 2
XmlElement XmlDocument.createElementNS(String namespaceURI, String qualifiedName);

호출 매개변수:

  • namespaceURI: 문자열, 요소 노드 네임스페이스 URI를 지정합니다.
  • qualifiedName: 문자열, 요소 노드의 지정된 이름을 지정합니다.

반환 결과:


createTextNode

텍스트 노드 생성

1
XmlText XmlDocument.createTextNode(String data);

호출 매개변수:

  • data: 문자열, 이 노드의 텍스트를 지정합니다.

반환 결과:

  • XmlText, 새로 생성된XmlText지정된 데이터 문자열을 나타내는 노드

createComment

댓글 노드 생성

1
XmlComment XmlDocument.createComment(String data);

호출 매개변수:

  • data: 문자열, 이 노드에 대한 주석 텍스트를 지정합니다.

반환 결과:


createCDATASection

만들다XmlCDATASection마디

1
XmlCDATASection XmlDocument.createCDATASection(String data);

호출 매개변수:

  • data: 문자열, 이 노드가 CDATA 데이터를 지정함을 지정합니다.

반환 결과:


createProcessingInstruction

만들다XmlProcessingInstruction마디

1 2
XmlProcessingInstruction XmlDocument.createProcessingInstruction(String target, String data);

호출 매개변수:

  • target: 문자열, 처리 명령의 대상을 지정합니다.
  • data: 문자열, 처리 명령의 내용 텍스트를 지정합니다.

반환 결과:


hasChildNodes

자식 노드가 있는지 쿼리

1
Boolean XmlDocument.hasChildNodes();

반환 결과:

  • Boolean, 자식 노드가 있으면 true를 반환하고 그렇지 않으면 false를 반환합니다.

normalize

인접한 텍스트 노드 병합 및 빈 텍스트 노드 삭제

1
XmlDocument.normalize();

이 메서드는 현재 노드의 모든 자손을 반복하고 빈 텍스트 노드를 제거하여 문서를 정규화하고 인접한 모든 텍스트 노드를 병합합니다. 이 방법은 노드를 삽입하거나 삭제한 후 문서 트리 구조를 단순화하는 데 유용합니다.


cloneNode

지정된 노드의 정확한 복사본 생성

1
XmlNode XmlDocument.cloneNode(Boolean deep = true);

호출 매개변수:

  • deep: Boolean, deep copy 여부, true인 경우 복제된 노드는 원본 노드의 모든 자식 노드를 복제합니다.

반환 결과:

  • XmlNode, 복사된 노드를 반환합니다.

이 메서드는 호출된 노드의 복사본을 복사하고 반환합니다. 전달된 매개변수가 true이면 현재 노드의 모든 자손 노드도 재귀적으로 복사합니다. 그렇지 않으면 현재 노드만 복사합니다. 반환된 노드는 문서 트리에 속하지 않으며 해당 parentNode 속성은 null입니다. 요소 노드를 복사할 때 모든 속성이 복사됩니다.


lookupPrefix

현재 노드에서 지정된 네임스페이스 URI와 일치하는 접두사를 반환합니다.

1
String XmlDocument.lookupPrefix(String namespaceURI);

호출 매개변수:

  • namespaceURI: 문자열, 일치하는 네임스페이스 URI를 지정합니다.

반환 결과:

  • String, 일치하는 접두사 반환, 일치하지 않으면 null 반환

lookupNamespaceURI

현재 노드에서 지정된 접두사와 일치하는 네임스페이스 URI를 반환합니다.

1
String XmlDocument.lookupNamespaceURI(String prefix);

호출 매개변수:

  • prefix: 문자열, 일치하는 접두사를 지정합니다.

반환 결과:

  • String, 일치하는 네임스페이스 URI를 반환하고 일치하지 않으면 null을 반환합니다.

insertBefore

기존 자식 노드 앞에 새 자식 노드 삽입

1 2
XmlNode XmlDocument.insertBefore(XmlNode newChild, XmlNode refChild);

호출 매개변수:

  • newChild:XmlNode, 새 노드 삽입
  • refChild:XmlNode, 이 노드 앞에 새 노드를 삽입합니다.

반환 결과:

  • XmlNode, 새 자식 노드를 반환합니다.

문서 트리에 newChild가 이미 있으면 문서 트리에서 제거되고 새 위치에 다시 삽입됩니다. 한 문서의 노드(또는 한 문서에서 만든 노드)는 다른 문서에 삽입할 수 없습니다. 즉, newChild의 ownerDocument 속성은 현재 노드의 ownerDocument 속성과 동일해야 합니다.


insertAfter

기존 자식 노드 뒤에 새 자식 노드 삽입

1 2
XmlNode XmlDocument.insertAfter(XmlNode newChild, XmlNode refChild);

호출 매개변수:

  • newChild:XmlNode, 새 노드 삽입
  • refChild:XmlNode, 이 노드 뒤에 새 노드를 삽입합니다.

반환 결과:

  • XmlNode, 새 자식 노드를 반환합니다.

문서 트리에 newChild가 이미 있으면 문서 트리에서 제거되고 새 위치에 다시 삽입됩니다. 한 문서의 노드(또는 한 문서에서 만든 노드)는 다른 문서에 삽입할 수 없습니다. 즉, newChild의 ownerDocument 속성은 현재 노드의 ownerDocument 속성과 동일해야 합니다.


appendChild

노드의 자식 노드 목록 끝에 새 자식 노드를 추가합니다.

1
XmlNode XmlDocument.appendChild(XmlNode newChild);

호출 매개변수:

  • newChild:XmlNode, 추가된 노드 지정

반환 결과:

  • XmlNode, 이 새로운 하위 노드를 반환합니다.

문서 트리에 newChild가 이미 있으면 문서 트리에서 제거되고 새 위치에 다시 삽입됩니다. 한 문서의 노드(또는 한 문서에서 만든 노드)는 다른 문서에 삽입할 수 없습니다. 즉, newChild의 ownerDocument 속성은 현재 노드의 ownerDocument 속성과 동일해야 합니다.


replaceChild

자식 노드를 다른 노드로 바꾸기

1 2
XmlNode XmlDocument.replaceChild(XmlNode newChild, XmlNode oldChild);

호출 매개변수:

  • newChild:XmlNode, 새 노드 지정
  • oldChild:XmlNode, 교체할 노드 지정

반환 결과:

  • XmlNode, 교체가 성공하면 이 메서드는 교체된 노드를 반환할 수 있고 교체가 실패하면 null을 반환합니다.

문서 트리에 newChild가 이미 있으면 문서 트리에서 제거되고 새 위치에 다시 삽입됩니다. 한 문서의 노드(또는 한 문서에서 만든 노드)는 다른 문서에 삽입할 수 없습니다. 즉, newChild의 ownerDocument 속성은 현재 노드의 ownerDocument 속성과 동일해야 합니다.


removeChild

하위 노드 목록에서 노드 제거

1
XmlNode XmlDocument.removeChild(XmlNode oldChild);

호출 매개변수:

  • oldChild:XmlNode, 삭제할 노드 지정

반환 결과:

  • XmlNode, 삭제에 성공하면 이 메서드는 삭제된 노드를 반환할 수 있으며 실패하면 null을 반환합니다.

toString

개체의 문자열 표현을 반환하고 일반적으로 "[네이티브 개체]"를 반환하며 개체는 자체 특성에 따라 다시 구현될 수 있습니다.

1
String XmlDocument.toString();

반환 결과:

  • String, 객체의 문자열 표현을 반환합니다.

toJSON

개체의 JSON 형식 표현을 반환하며 일반적으로 개체에 의해 정의된 읽기 가능한 속성 모음을 반환합니다.

1
Value XmlDocument.toJSON(String key = "");

호출 매개변수:

  • key: 문자열, 사용하지 않음

반환 결과:

  • Value, JSON 직렬화 가능 값을 반환합니다.