php DOMElement操作xml文档的例子
Freigeben: 2016-07-25 09:00:04
Original
878 Leute haben es durchsucht
-
-
/*
-
-
-
- 孙悟空名字>
- 孙行者名字>
- 123年龄>
- 介绍>
- 学生>
- 白骨精名字>
- 140年龄>
- 介绍内容介绍>
- 学生>
- 班级>
- */
-
复制代码
2、php代码
-
-
/**
- *DOMElement XML
- *http://bbs.it-home.org
- */
- $xmldoc = new DOMDocument('1.0', 'UTF-8');
- $xmldoc->load('datas.xml');
$itemsNodeList = $xmldoc->getElementsbyTagName('学生');
- $itemElement = $itemsNodeList->item(0);//得到第一个完整的学生信息节点
- $itemChildsNodeList = $itemElement->getElementsbyTagName('名字');//得到子节点“名字”,也许有多个名字
- $itemChildNode = $itemChildsNodeList->item(0);//得到第一个名字节点
- echo $itemChildNode->nodeValue;//输出节点值
//封装成函数
- $nodeArr = array('名字', '年龄', '介绍');
- function getNodeVal($xmldoc, $itemsName, $nodeArr){
- $items = $xmldoc->getElementsByTagName($itemsName);
- for($i=0; $i length; $i++){
- $item = $items->item($i);
- foreach($nodeArr as $node){
- $data[$i][] = $item->getElementsByTagName($node)->item(0)->nodeValue;
- }
- }
- return $data;
- }
$data = getNodeVal($xmldoc, '学生', $nodeArr);
- print_r($data);
//添加节点
- $xmldoc = new DOMDocument('1.0', 'UTF-8');
- $xmldoc->load('datas.xml');
- $items = $xmldoc->getElementsByTagName('班级')->item(0);//根节点
- $student = $xmldoc->createElement('学生');//创建一个新的学生节点
- $stu_name = $xmldoc->createElement('名字','张三');
- $stu_age = $xmldoc->createElement('年龄','15');
- $stu_intro = $xmldoc->createElement('介绍','动手能力强且成绩稳定');
- $items->appendChild($student);
- $student->appendChild($stu_name);
- $student->appendChild($stu_age);
- $student->appendChild($stu_intro);
- $bytes = $xmldoc->save('datas.xml');
- echo ($bytes)? "写入了: $bytes 字节" : '保存失败';
//删除节点
- $xmldoc = new DOMDocument('1.0', 'UTF-8');
- $xmldoc->load('datas.xml');
- $student = $xmldoc->getElementsByTagName('学生')->item(2);//直接找到要删除的节点
- $student->parentNode->removeChild($student);//父节点的删除方法
- $xmldoc->save('datas.xml');
//修改节点值
- $student = $xmldoc->getElementsByTagName('学生')->item(2);
- $student->getElementsByTagName('年龄')->item(0)->nodeValue += 10;
- $student->setAttribute('id', '110');
- $xmldoc->save('datas.xml');
//应用 Xpath 查找节点
$xml = new DOMDocument('1.0', 'UTF-8');
- $xml->load('dat.xml');
- $xpath = new DOMXPath($xml);
- $nodeList = $xpath->query('/aaa/bbb/ddd/fff');
- echo $nodeList->item(0)->nodeValue;
//SimpleXML 类操作 xml
- /*
1001
- 200元
- 大明
- 天龙八部
1002
- 321元
- 张三
- 笑傲江湖
1004
- 182元
- 李四
- 读者
- */
- $xml = simplexml_load_file('books.xml');
- $books = $xml->book;
- echo $books[1]->title . $books[1]['house'];//直接指向第二本书
- foreach($xml as $item){
- echo $item->title,' ',$item['house'],'
';
- }
- ?>
-
复制代码
|
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31