PHPCon Poland 2024

DOMDocument::createElementNS

(PHP 5, PHP 7, PHP 8)

DOMDocument::createElementNSİsim alanlı bir eleman düğümü oluşturur

Açıklama

public DOMDocument::createElementNS(?string $namespace, string $qualifiedName, string $value = ""): DOMElement|false

İsim alanlı yeni bir eleman düğümü oluşturur. Bu düğüm, DomNode::append_child() gibi bir yöntemle belgeye yerleştirilmedikçe belgede gösterilmez.

Bağımsız Değişkenler

namespace

İsim alanını betimleyen adres.

qualifiedName

önek:etiket biçeminde etiket ismi.

value

Elemanın değeri. Öntanımlı olarak boş eleman oluşturulur. Değeri daha sonra DOMElement->nodeValue() özelliğine de atayabilirsiniz.

Dönen Değerler

Bir hata oluşursa false yoksa yeni bir DOMElement nesnesi döner.

Hatalar/İstisnalar

DOM_INVALID_CHARACTER_ERR

qualifiedName geçersiz karakter içeriyorsa oluşur.

DOM_NAMESPACE_ERR

qualifiedName, isim alanlı bir etiket adı olarak uygun değilse oluşur.

Örnekler

Örnek 1 - Yeni bir eleman oluşturup belge elemanı yapmak

<?php

$dom
= new DOMDocument('1.0', 'utf-8');

$element = $dom->createElementNS('http://www.example.com/XFoo', 'xfoo:test',
'This is the root element!');

// Oluşturduğumuz elemanı belge elemanı yapalım
$dom->appendChild($element);

echo
$dom->saveXML();
?>

Yukarıdaki örneğin çıktısı:

<?xml version="1.0" encoding="utf-8"?>
<xfoo:test xmlns:xfoo="http://www.example.com/XFoo">This is the root element!</xfoo:test>

Örnek 2 - İsim alanı öneki örneği

<?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"; // Çıktısı: http://base.google.com/ns/1.0
echo $item->prefix, "\n"; // Çıktısı: g
echo $item->localName, "\n"; // Çıktısı: item_type
?>

Yukarıdaki örneğin çıktısı:

<?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

Ayrıca Bakınız

add a note

User Contributed Notes 1 note

up
2
Martin
12 years ago
To avoid multiple xmlns re-declaration, make sure you appending ElementNS into actual DOMDocument tree (not into some currently-assembed derelict element).
To Top