downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

DOMElement::setAttributeNode> <DOMElement::removeAttributeNS
Last updated: Fri, 13 Nov 2009

view this page in

DOMElement::setAttribute

(PHP 5)

DOMElement::setAttribute新しい属性を追加する

説明

DOMAttr DOMElement::setAttribute ( string $name , string $value )

name という名前の属性を、指定した値に設定します。 属性が存在しない場合は、作成されます。

パラメータ

name

属性の名前。

value

属性の値。

返り値

新しい DOMAttr、 あるいはエラーが発生した場合は FALSE を返します。

エラー / 例外

DOM_NO_MODIFICATION_ALLOWED_ERR

ノードが読み込み専用の場合に発生します。

例1 属性を設定する

<?php
$doc 
= new DOMDocument("1.0");
$node $doc->createElement("para");
$newnode $doc->appendChild($node);
$newnode->setAttribute("align""left");
?>

参考



add a note add a note User Contributed Notes
DOMElement::setAttribute
address at gmail dot com
03-Jul-2008 11:25
If wanting to set an attribute of an element with unique id of "1"

<?php
$dom
= new DomDocument();
$dom->load('test.xml');
$xp = new DomXPath($dom);
$res = $xp->query("//*[@id = '1']");
$res->item(0)->setAttribute('title','2');
$dom->save('test.xml');
?>
Vasil Rangelov
01-Aug-2007 08:44
@karvjorm,
Using this method is not exactly a good practice. Infact, I think it may be a bug.
Names beginning with "xml" are reserved (for namespaces in this case).
setAttribute() should return false in this case I think, but I suppose it doesn't.

Still, the right way to do it is with createElementNS().
It lets you specify the namespace when creating the element node.

So the equivalent to yours ($html added to allow word wrapping) is:

$dom = new DomDocument('1.0','iso-8859-15');
$html = $dom->createElementNS('http://www.w3.org/1999/xhtml', 'html');
$ht_ml = $dom->appendChild($html);
$ht_ml->setAttribute('xml:lang','fi');
$ht_ml->setAttribute('lang','fi');
karvjorm at users.sourceforge.net
03-Mar-2007 08:05
$dom = new DomDocument('1.0','iso-8859-15');

$ht_ml = $dom->appendChild($dom->createElement('html'));
$ht_ml->setAttribute('xmlns','http://www.w3.org/1999/xhtml');
$ht_ml->setAttribute('xml:lang','fi');
$ht_ml->setAttribute('lang','fi');

Result:

<?xml version="1.0" encoding="iso-8859-15"?>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fi" lang="fi">

 
show source | credits | stats | sitemap | contact | advertising | mirror sites