php操作xml
要操作的数据 代码如下: Laura Thomson Brian Totty XML几个基本概念 我使用的是DOMDocument对象来操作xml,感觉用起来比simpleXml科学一些,当然第一天使用php,纯属个人感觉。DOMDocument有几个常用的属性和方法。 加载xml 代码如下: $path=$_SERVER["DOCUMENT_ROOT"].'/books.xml';
$books=new DOMDocument(); $books->load($path); 读取/遍历节点与属性 代码如下: $bookElements=$books->getElementsByTagName('book');
foreach($bookElements as $book){ 当然对于很多属性,只想读一个,可以通过item(index)方法按索引读取 代码如下: echo $book->attributes->item(1)->nodeValue; 还可以通过强大的xpath查询 代码如下: 还可以通过强大的xpath查询
修改属性/节点 代码如下: foreach($bookElements as $book){ foreach ($book->attributes as $attr) { #$book->setAttribute($attr->nodeName,strtoupper($attr->nodeValue)); $attr->nodeValue=strtoupper($attr->nodeValue); } echo "AUTHOR: "; foreach ($book->getElementsByTagName('author') as $author) { $author->nodeValue=strtoupper($author->nodeValue); } } 对属性修改可以直接访问其nodeValue改动,也可以使用setAttribute方法,改动完了别忘了使用save保存。 代码如下: $book->setAttribute($attr->nodeName,strtoupper($attr->nodeValue));
$attr->nodeValue=strtoupper($attr->nodeValue); 添加元素/属性 代码如下: $newBook=$books->createElement('book'); #创建新元素
$newBook->setAttribute('name','PHP Objects,Patterns,and Practice');#创建新属性,方法一 $publisher=$books->createAttribute('publisher');#创建新属性,方法二 $author=$books->createElement('author');#创建子元素 $books->documentElement->appendChild($newBook);#添加整个节点 删除属性/节点 代码如下: $first=$bookElements->item(0); $first->removeAttribute('publisher'); $second=$bookElements->item(1); $books->save($path); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |