1、simplexml是php专门提供的一种简单的操作xml文件对象。simplexmlElement这个对象会将所有的xml的元素转化成对象,相同的元素转化成对象的集合
2、步骤:
(1)实例化simpleXML对象,参数为XML文件的内容 file_get_contents()获得这个对象可以理解为文档的根节点
(2)访问某一个节点
(1)元素的属性,数组下标的形式
(2)如果是对象集合,使用foreach遍历
(3)数组下标的形式访问某个元素
3、节点的增删改查
(1)增加节点(addChild()方法)
(2)删除节点(unset())
(3)修改节点(重新赋值即可)
注意:
1,获得属性值 ,通过数组下标的形式,数组下标要大写
2,当XML文件中有英文字符和汉字的时候,需要使用 CDATA 来做特殊处理
例:simpleXML解析xml文件
<?php
$xml_cont=file_get_contents('a.xml');//获得xml文件
$sex=new SimpleXMLElement($xml_cont);//实例化simplexml对象
//var_dump($sex);//获得整个xml文件
//获得所有的作者
$books=$sex->book;
foreach($books as $book){
echo$book->author;
}
$books=$sex->book;
echo$a=$books->author;//默认获得第一个book中的作者,李四
//获得特定的值
$books=$sex->book;
echo$first_title=$books[0]->newtitle;
//访问数组的属性
/*$books=$sex->book;
echo$d=$books[0]['id'];*/
//获得book1下的newtitle的id属性
/*$books=$sex->book;
$title=$books[0]->newtitle;
echo$id=$title[0]['id'];*/
//添加一个book节点
/* $new_book=$sex->addchild('book');//addchild(节点名)
$sex->asXML('a.xml');//保存*/
//添加一个book节点,在新book下添加一个title
/*$new_book=$sex->addchild('book');//addchild(节点名)
$new_book->addchild('title','css');
$sex->asXML('a.xml');//保存*/
//删除一个节点
$book=$sex->book[4];
unset($book);
$sex->asXML('a.xml');
//修改节点
/*$author=$sex->book[3]->author='v';
$sex->asXML('a.xml');*/
?>