PHP创建与解析XML-创新互联

一. 使用 SimpleXML 操控 XML 要处理XML 文件,有两种传统的处理思路:SAX 和DOM。SAX 基于事件触发机制, 对XML 文件进行一次扫描,完成要进行的处理;DOM 则将整个XML 文件构造为一棵DOM 树,通过对DOM 树的遍历完成处理。这两种方法各有优缺点,SAX 的处理思路相对抽象, DOM 的处理过程相对烦琐,都不很适合新手的入门。 PHP5 推出了一套新的XML 处理函数,即SimpleXML。名如其实,SimpleXML 本身小 巧精干,只提供了少量的几个方法函数,但用它处理起XML 文件功能却非常强大,操作也 非常的简单。 1.创建XML文件 $_xml =<< 1.0 xml解析测试 俱乐部 http://www.yc.com 李恢 北风网 http://www.ibeifeng.com 谁谁谁 电驴 http://www.verycd.com 姓黄的 xml; $_sxe= new SimpleXMLElement($_xml); //创建对象解析xml字符串 $_sxe->asXML('test.xml'); //生成XML文件 2.载入XML文件 $_sxe= simplexml_load_file("test.xml"); //载入XML文件 var_dump($_sxe); //输出相关信息 print_r($_sxe); //输出主要信息 Reflection::export(new ReflectionClass($sxe)); //用反射查看详情 3.解析XML文件 $_sxe= simplexml_load_file("test.xml"); //载入XML文件 var_dump($_sxe); //输出相关信息 print_r($_sxe); //输出主要信息 Reflection::export(new ReflectionClass($_sxe)); //用发射查看详情 echo $_sxe->asXML();//打印整个XML 4.读出XML数据 $_sxe= simplexml_load_file("test.xml"); //读取一级节点的值,比如version标签 echo $_sxe->version; //如果有多个,可以设置它的数字下标 echo $_sxe->version[2]; //如果想要全部打印出来,可以用遍历 foreach ($_sxe->version as $_version) { echo '['.$_version.']'; } //访问二级节点的name echo $_sxe->user[1]->name; //获取所有二级节点的name值 foreach ($_sxe->user as $_user) { echo '['.$_user->name.']'; } //获取二级节点的标签的属性 echo $_sxe->user[1]->author->attributes(); 5.使用XPath来获取节点 $_sxe= simplexml_load_file("test.xml"); //使用XPath获取节点信息 $_version = $_sxe->xpath('/root/version'); echo $_version[1]; //遍历version foreach ($_version as $_v) { echo '['.$_v.']'; } //访问二级节点 $_user = $_sxe->xpath('/root/user'); echo $_user[2]->name; //遍历二级节点 foreach ($_user as $_u) { echo '['.$_u->name.']'; } //访问属性 echo $_user[1]->author->attributes(); 二. 使用 DOMDocument 操控 XML 很多情况下,手工生成标记要求从上到下生成文档,必须保证标签都是完整的,开始和 结束标签。尽管借助于一些PHP函数或类可以有所改善,不过PHP还提供了一组更有帮助 的内置对象和函数。文档对象模型(Document Object Model,DOM)提供了一个树状结 构,能很容易创建和处理标签。 1.DOMDocument解析XML //创建一个DOMDocument() $_doc = new DOMDocument(); //载入xml $_doc->load('test.xml'); //取version标签 $_version = $_doc->getElementsByTagName('version'); echo $_version->item(2)->nodeValue; //遍历version标签 foreach ($_version as $v) { echo $v->nodeValue; } 2.DOMDocument生成XML //声明xml $_doc = new DOMDocument('1.0','utf-8'); //排版格式 $_doc->formatOutput = true; //创建一个主标签 $_root = $_doc->createElement('root'); //创建一个一级标签version $_version = $_doc->createElement('version'); //给version标签里赋值 $_versionTextNode = $_doc->createTextNode('1.0'); //将值放入version标签里 $_version->appendChild($_versionTextNode); //将一级标签version放入root里 $_root->appendChild($_version); //将主标签写入xml $_doc->appendChild($_root); //生成xml $_doc->save('aaa.xml');

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。

创新互联服务项目包括光明网站建设、光明网站制作、光明网页制作以及光明网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,光明网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到光明省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
分享名称:PHP创建与解析XML-创新互联
网址分享:http://azwzsj.com/article/dceodg.html