> php教程 > php手册 > 본문

php xml节点 修改,增加,编辑,删除代码

WBOY
풀어 주다: 2016-05-25 16:41:44
원래의
1218명이 탐색했습니다.

本教程是利用了php domdocument函数来对xml节点 修改,增加,编辑,删除代码下面每个操作节点都是英文说明,如果你能写程序我想这些英文都能看得懂的.

php xml节点 修改,增加,编辑,删除代码如下:

<?php
function loadfile($file) {
    $newfile = new domdocument();
    $newfile->validateonparse = true;
    $newfile->load($file);
    return $newfile;
}
function add($file, $parentname, $children) { //增加xml节点
    $xml = loadfile($file);
    $id = uniqid(&#39;m&#39; . rand(1, 5) , true);
    $parentnode = $xml->createelement($parentname);
    $parentnode->setattribute(&#39;mid&#39;, $id);
    foreach ($children as $child => $value) {
        $childnode = $xml->createelement($child, $value);
        $parentnode->appendchild($childnode);
    }
    $xml->documentelement->appendchild($parentnode);
    $xml->save($file);
    return $id;
}
function delete($file, $id) { //删除xml 节点
    $xml = loadfile($file);
    $ids = explode(",", $id);
    foreach ($ids as $oldnodeid) {
        $oldnode = $xml->getelementbyid($oldnodeid);
        $parentnode = $oldnode->parentnode;
        $parentnode->removechild($oldnode);
    }
    $xml->save($file);
}
function edit($file, $id, $child, $value) { //编辑xml 节点
    $xml = loadfile($file);
    $parentnode = $xml->getelementbyid($id);
    $childnode = $parentnode->childnodes->item($child);
    $textnode = $childnode->childnodes->item(0);
    $textnode->nodevalue = $value;
    $xml->save($file);
}
function move($file, $moveid, $refid = null) { //移动xml节点
    $xml = loadfile($file);
    $movenode = $xml->getelementbyid($moveid);
    $parentnode = $movenode->parentnode;
    if ($refid != null) {
        $refnode = $xml->getelementbyid($refid);
        if (!$parentnode->issamenode($refnode->parentnode)) return false;
    } else $refnode = null;
    $movenode = $parentnode->removechild($movenode);
    $parentnode->insertbefore($movenode, $refnode);
    $xml->save($file);
}
로그인 후 복사


文章地址:

转载随意^^请带上本文地址!

관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿