DOM DOMDocument::createElementNS
(PHP 5, PHP 7, PHP 8)
DOMDocument::createElementNS — 연결된 네임스페이스로 새 요소 노드 만들기
설명
public DOMDocument::createElementNS(?string $namespace
, string $qualifiedName
, string $value
= ""): DOMElement|false
이 함수는 연결된 네임스페이스가 있는 새 요소 노드를 만듭니다. 이 노드는 DOMNode::appendChild()와 같이 삽입되지 않는 한 문서에 표시되지 않습니다.
매개변수
namespace
- 네임스페이스의 URI입니다.
qualifiedName
- 요소의 규정된 이름(
prefix:tagname
). value
- 요소의 값입니다. 기본적으로 빈 요소가 생성됩니다. 나중에 DOMElement::$nodeValue를 사용하여 값을 설정할 수도 있습니다.
반환 값
새 DOMElement 또는 오류가 발생한 경우 false
입니다.
오류/예외
DOM_INVALID_CHARACTER_ERR
qualifiedName
에 유효하지 않은 문자가 포함되어 있으면 발생합니다.DOM_NAMESPACE_ERR
qualifiedName
이 형식이 잘못된 정규화된 이름이면 발생합니다.
Examples
예제 #1 새 요소 생성 및 루트로 삽입.
<?php
$dom = new DOMDocument('1.0', 'utf-8');
$element = $dom->createElementNS('http://www.example.com/XFoo', 'xfoo: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"?> <xfoo:test xmlns:xfoo="http://www.example.com/XFoo">This is the root element!</xfoo:test>
예제 #2 네임스페이스 접두사 예.
<?php
$doc = new DOMDocument('1.0', 'utf-8');
$doc->formatOutput = true;
$root = $doc->createElementNS('http://www.w3.org/2005/Atom', 'element');
$doc->appendChild($root);
$root->setAttributeNS('http://www.w3.org/2000/xmlns/' ,'xmlns:g', 'http://base.google.com/ns/1.0');
$item = $doc->createElementNS('http://base.google.com/ns/1.0', 'g:item_type', 'house');
$root->appendChild($item);
echo $doc->saveXML(), "\n";
echo $item->namespaceURI, "\n"; // Outputs: http://base.google.com/ns/1.0
echo $item->prefix, "\n"; // Outputs: g
echo $item->localName, "\n"; // Outputs: item_type
?>
위의 예는 다음을 출력합니다.
<?xml version="1.0" encoding="utf-8"?> <element xmlns="http://www.w3.org/2005/Atom" xmlns:g="http://base.google.com/ns/1.0"> <g:item_type>house</g:item_type> </element> http://base.google.com/ns/1.0 g item_type
기타
- DOMNode::appendChild() - 자식의 끝에 새 자식을 추가합니다.
- DOMDocument::createAttribute() - 새 속성 만들기
- DOMDocument::createAttributeNS() - 연결된 네임스페이스가 있는 새 속성 노드 만들기
- DOMDocument::createCDATASection() - 새 cdata 노드 생성
- DOMDocument::createComment() - 새 댓글 노드 만들기
- DOMDocument::createDocumentFragment() - 새 문서 조각 만들기
- DOMDocument::createElement() - 새 요소 노드 만들기
- DOMDocument::createEntityReference() - 새 엔터티 참조 노드 만들기
- DOMDocument::createProcessingInstruction() - 새 PI 노드 생성
- DOMDocument::createTextNode() - 새 텍스트 노드 만들기