时间:2021-07-01 10:21:17 帮助过:50人阅读
- <br>/* <br><!--?xml version="1.0" encoding="UTF-8"?--> <br><班级> <br><学生 number="101"> <br><名字>孙悟空<!--名字--> <br><名字>孙行者<!--名字--> <br><年龄>猴精猴精<!--年龄--> <br><介绍><!--介绍--> <br><!--学生--> <br><学生 number="102"> <br><名字>白骨精<!--名字--> <br><年龄>140<!--年龄--> <br><介绍>幻化万千<!--介绍--> <br><!--学生--> <br><学生 number="103"> <br><名字>猪八戒<!--名字--> <br><名字>猪无能<!--名字--> <br><年龄>200<!--年龄--> <br><介绍>能吃会睡<!--介绍--> <br><!--学生--> <br><!--班级--> <br>*/ <br>class xmlDom{ <br>public $version; <br>public $encoding; <br>private $xml; <br>private $items; <br>private $seachNode = ''; <br>private $seachItem = ''; <br>private $seachValue = ''; <br>public $writeBytes = 0; <br>function __construct($xmlFile ='', $version ='1.0', $encoding = 'UTF-8'){ <br>$this->version = $version; <br>$this->encoding = $encoding; <br>$this->xml = new DOMDocument($version, $encoding); <br>if($xmlFile)$this->xml->load($xmlFile); <br>} <br>function getRootEle($rootTag){ <br>$this->xmlRoot = $this->xml->getElementsByTagName($rootTag)->item(0); <br>} <br>function getSeachItem($itemsTag, $seachNode, $seachValue){ <br>$this->items = $this->xml->getElementsByTagName($itemsTag); <br>$this->items->length; <br>for($i=0; $i<$this->items->length; $i++){ <br>$item = $this->items->item($i);//元素 <br>$node = $item->getElementsByTagName($seachNode);//节点 <br>for($j = 0; $j< $node->length; $j++){ <br>$subNode = $node->item($j); <br>if($seachValue == $subNode->nodeValue){ <br>$this->seachNode = $subNode; <br>$this->seachItem = $item; <br>$this->seachValue = $subNode->nodeValue; <br>break(2); <br>} <br>} <br>} <br>return ($this->seachNode) ? true : false; <br>} <br>function update($nodeValue, $nodeTag = '',$append = false, $index = 0){ <br>if($append){ <br>if($nodeTag) <br>$this->seachItem->getElementsByTagName($nodeTag)->item($index)->nodeValue += $nodeValue; <br>else <br>$this->seachNode->nodeValue += $nodeValue; <br>}else{ <br>if($nodeTag) <br>$this->seachItem->getElementsByTagName($nodeTag)->item($index)->nodeValue = $nodeValue; <br>else <br>$this->seachNode->nodeValue = $nodeValue; <br>} <br>} <br>function save($filename){ <br>$this->writeBytes = $this->xml->save($filename); <br>return ($this->writeBytes) ? true : false; <br>} <br>} <br>$test = new xmlDom('student.xml'); <br>$test->getSeachItem('学生','年龄','103');//找到 年龄=103 的猪八戒 <br>$test->update('小猪猪', '名字', false, 1); //把猪八戒的第二个名字改成:小猪猪 <br>$test->save('new.xml'); //保存成新文件