DOM DOMDocument::createElement
(PHP 5, PHP 7, PHP 8)
DOMDocument::createElement — 새 요소 노드 만들기
설명
public DOMDocument::createElement(string $localName
, string $value
= ""): DOMElement|false
이 함수는 DOMElement 클래스의 새 인스턴스를 만듭니다. 이 노드는 DOMNode::appendChild()와 같이 삽입되지 않는 한 문서에 표시되지 않습니다.
매개변수
localName
- 요소의 태그 이름입니다.
value
- 요소의 값입니다. 기본적으로 빈 요소가 생성됩니다. 값은 나중에 DOMElement::$nodeValue로 설정할 수도 있습니다.
값은 < 및 > 엔티티 참조가 이스케이프된다는 점을 제외하고 그대로 사용됩니다. &는 수동으로 이스케이프해야 합니다. 그렇지 않으면 엔티티 참조를 시작하는 것으로 간주됩니다. 또한 "이스케이프되지 않습니다.
반환 값
DOMElement 클래스의 새 인스턴스를 반환하거나 오류가 발생하면 false
를 반환합니다.
오류/예외
DOM_INVALID_CHARACTER_ERR
localName
에 잘못된 문자가 포함된 경우 발생합니다.
Examples
예제 #1 새 요소 생성 및 루트로 삽입
<?php
$dom = new DOMDocument('1.0', 'utf-8');
$element = $dom->createElement('test', 'This is the root element!');
// We insert the new element as root (child of the document)
$dom->appendChild($element);
echo $dom->saveXML();
?>
위의 예는 다음을 출력합니다.
<?xml version="1.0" encoding="utf-8"?> <test>This is the root element!</test>
예제 #2 이스케이프 처리되지 않은 & value
을 포함하는 텍스트 전달
<?php
$dom = new DOMDocument('1.0', 'utf-8');
$element = $dom->createElement('foo', 'me & you');
$dom->appendChild($element);
echo $dom->saveXML();
?>
위의 예는 다음과 유사한 결과를 출력합니다.
Warning: DOMDocument::createElement(): unterminated entity reference you in /in/BjTCg on line 4 <?xml version="1.0" encoding="utf-8"?> <foo/>
메모
메모: value
은 이스케이프되지 않습니다. DOMDocument::createTextNode()를 사용하여 이스케이프 지원이 있는 텍스트 노드를 만듭니다.
기타
- DOMNode::appendChild() - 자식의 끝에 새 자식을 추가합니다.
- DOMDocument::createAttribute() - 새 속성 만들기
- DOMDocument::createAttributeNS() - 연결된 네임스페이스가 있는 새 속성 노드 만들기
- DOMDocument::createCDATASection() - 새 cdata 노드 생성
- DOMDocument::createComment() - 새 댓글 노드 만들기
- DOMDocument::createDocumentFragment() - 새 문서 조각 만들기
- DOMDocument::createElementNS() - 연결된 네임스페이스로 새 요소 노드 만들기
- DOMDocument::createEntityReference() - 새 엔터티 참조 노드 만들기
- DOMDocument::createProcessingInstruction() - 새 PI 노드 생성
- DOMDocument::createTextNode() - 새 텍스트 노드 만들기