$doc = new DOMDocument();$doc->load(‘bird_base.xml‘);$root = $doc->getElementsByTagName(‘birdList‘);$root = $root->item(0);$bird = $root->getElementsByTagName(‘bird‘);//遍历所有 bird 节点foreach ($bird as $rootdata) {//遍历每一个 bird 节点所有属性 $speciesID= $rootdata->getElementsByTagName(‘speciesID‘)->item(0)->nodeValue; $localName= $rootdata->getElementsByTagName(‘localName‘)->item(0)->nodeValue; $engName= $rootdata->getElementsByTagName(‘engName‘)->item(0)->nodeValue; $latinName= $rootdata->getElementsByTagName(‘latinName‘)->item(0)->nodeValue; $bird = $this->bird->get_bird_detail($speciesID); if(!empty($bird)) { //修改节点值 $rootdata->getElementsByTagName(‘localName‘)->item(0)->nodeValue = $bird[‘localName‘]; $rootdata->getElementsByTagName(‘engName‘)->item(0)->nodeValue = $bird[‘engName‘]; $rootdata->getElementsByTagName(‘latinName‘)->item(0)->nodeValue = $bird[‘latinName‘]; }else { //删除节点 $rootdata->parentNode->removeChild($rootdata); } }$doc->save(‘bird_base.xml‘);
bird_base.xml 示例
<?xml version="1.0" encoding="UTF-8"?><birdList> <bird><speciesID>1</speciesID><localName>雪鹑</localName><engName>Snow Partridge</engName><latinName>Lerwa lerwa</latinName></bird><bird><speciesID>2</speciesID><localName>藏雪鸡</localName><engName>Tibetan Snowcock</engName><latinName>Tetraogallus tibetanus</latinName></bird>
</birdList>
时间: 2024-10-09 03:21:09