当前位置: 首页 > 后端技术 > PHP

PHP创建并解析XML

时间:2023-03-29 19:16:15 PHP

PHP创建和解析XML一、使用SimpleXML操作XML处理XML文件,传统的处理思路有两种:SAX和DOM。SAX基于事件触发机制,对XML文件扫描一次,完成处理;DOM将整个XML文件构造成DOM树,通过遍历DOM树完成处理。这两种方法各有优缺点。SAX的处理思路比较抽象,DOM的处理过程比较繁琐,不太适合初学者。PHP5退出了一套新的XML处理函数,即SimpleXML。SimpleXML顾名思义,本身小巧而强大,只提供了少量的功能和少量的方法。单独使用它处理XML文件功能非常强大,操作也非常简单。1.创建XML文件【PHP】纯文本查看复制代码?1.0xml解析测试张三23李斯24王舞25xml;//创建一个对象来解析xml字符串$_sxe=newSimpleXMLElement($_xml);//在当前目录下,生成一个XML文件$_sxe->asXML('./test.xml');?>效果图:2.加载XML文件【PHP】纯文本查看复制代码?效果图:3.解析XML文件【PHP】纯文本查看复制代码?asXML();//打印整个XML?>效果图:4.读出XML数据【PHP】查看copycodeinplaintext?version;回声'


';//如果有多个,可以设置它的个数下标echo$_sxe->version[0];回声'
';//如果想全部打印出来,可以使用遍历foreach($_sxe->versionas$_version){echo'['.$_version.']';}//访问从节点的作者echo$_sxe->user[0]->author;echo'
';//获取所有secondary节点的name值foreach($_sxe->useras$_user){echo'['.$_user->author.']';}echo'
';//获取二级节点标签的属性echo$_sxe->user[0]->author->attributes();?>效果图:5.使用XPath获取节点【PHP】纯文本查看复制代码?xpath("/root/version");echo$_version[1];//遍历版本foreach($_versionas$_v){echo'['.$_v.']';}//访问从节点$_user=$_sxe->xpath('/root/user');echo$_user[2]->name;//遍历二级节点foreach($_useras$_u){echo'['.$u->name.']';}//访问属性echo$_user[1]->author->attributes();?>效果图:2.使用DOMDocument操作XML很多情况下,手动生成标签需要从上到下生成文档,需要保证标签完整,起止标签,虽然有些PHP函数或者类可以使用它进行了改进,但PHP还提供了一组更有用的内置对象和函数。文档对象模型(DocumentObjectModel,DOM)提供了一个树桩结构,使创建和处理标签变得容易。1.DOMDocument生成XML[PHP]纯文本视图复制代码?formatOutput=true;//创建主标签$_root=$_doc->createElement('root');//创建一级标签version$_version=$_doc->createElement('version');//给版本标签赋值$_versionTextNode=$_doc->createTextNode('1.0');//把valueintotheversiontag$_version->appendChild($_versionTextNode);//将一级标签version放入根$_root->appendChild($_version);//放入主tab写xml$_doc->appendChild($_root);//生成xml$_doc->save('aaa.xml');?>效果图:2.DOMDocument解析XML[PHP]纯文本视图复制代码?load('test.xml');//获取版本标签$_version=$_doc->getElementsByTagName('version');;echo$_version->item(2)->nodeValue;//遍历版本标签foreach($_versionas$v){echo$v->nodeValue;}?>效果图更多技术资料如下:gzitcast