DOMDocument

提供: KZK memo wiki
移動: 案内検索

PHPでXMLファイルを操作するときのメモ

作成

$filename = "sample.xml";
$dom = new DOMDocument('1.0','utf-8');
$dom->formatOutput = true;
$root = $dom->appendChild($dom->createElement('ROOT'));
$items = $root->appendChild($dom->createElement('ITEMS'));
$item = $shifts->appendChild($dom->createElement('ITEM'));
$dom->save($filename);

読み込み

$filename = "sample.xml";
$dom = new DOMDocument();
$dom->load($filename);

タグに属性をつける

$item->setAttribute('id','item000');

IDを指定してタグを取得する:getElementById

IDを指定してタグを取得する場合はgetElementByIdを使用する。

$filename = "sample.xml";
$dom = new DOMDocument();
$dom->load($filename);
 
setAllId($dom);
 
function setAllId($DOMNode){
	if($DOMNode->hasChildNodes()){
		foreach ($DOMNode->childNodes as $DOMElement) {
			if($DOMElement->hasAttributes()){
				$id=$DOMElement->getAttribute("id");
				if($id)
				{
					$DOMElement->setIdAttribute("id",$id);
				}
			}
			setAllId($DOMElement);
		}
	}
}