객체 내장 객체

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)그런 다음 모듈의 메서드를 사용하여 XML 파일을 구문 분석하고 parse()구문 분석된 개체를 변수에 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: 문자열, 문서 객체의 유형을 지정합니다. 기본값은 "text/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: 문자열, 요소 노드의 지정된 이름을 지정합니다.

결과 반환:

  • XmlElement, 새로 생성된 값을 반환합니다.XmlElement지정된 레이블 이름을 가진 노드

createElementNS

지정된 네임스페이스를 사용하여 요소 노드를 생성합니다.

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

호출 매개변수:

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

결과 반환:

  • XmlElement, 새로 생성된 값을 반환합니다.XmlElement지정된 레이블 이름을 가진 노드

createTextNode

텍스트 노드 생성

1
XmlText XmlDocument.createTextNode(String data);

호출 매개변수:

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

결과 반환:

  • XmlText, 새로 생성된 값을 반환합니다.XmlText지정된 데이터 문자열을 나타내는 노드

createComment

주석 노드 생성

1
XmlComment XmlDocument.createComment(String data);

호출 매개변수:

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

결과 반환:

  • XmlComment, 새로 생성된 값을 반환합니다.XmlComment노드, 코멘트 텍스트는 지정된 데이터입니다

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

인접한 Text 노드를 병합하고 빈 Text 노드 삭제

1
XmlDocument.normalize();

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


cloneNode

지정된 노드의 정확한 복사본을 생성합니다.

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

호출 매개변수:

  • deep: 부울, 전체 복사 여부, 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

객체의 문자열 표현을 반환하며 일반적으로 "[Native Object]"를 반환하며 객체 자체의 특성에 따라 다시 구현될 수 있습니다.

1
String XmlDocument.toString();

결과 반환:

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

toJSON

객체의 JSON 형식 표현을 반환하며 일반적으로 객체에 의해 정의된 읽을 수 있는 속성 컬렉션을 반환합니다.

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

호출 매개변수:

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

결과 반환:

  • Value, 직렬화 가능한 JSON을 포함하는 값을 반환합니다.