注册 登录  
 加关注

网易博客网站关停、迁移的公告:

将从2018年11月30日00:00起正式停止网易博客运营
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

xiaozhuge0825的博客

 
 
 

日志

 
 

php操作XML  

2009-06-11 18:07:51|  分类: php |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

1.$data=<<<XML

<?xml version="1.0"?>这行前面不可以有空格

XML;这行前面也不可以有空格

2.simplexml对象的两个方法:simplexml_load_string(xml字符串),simplexml_load_file(文件路径);

3.读出xml文件的内容:(depart是这个xml文档中的一个节点)$xml=simplexml_load_file("xml.xml");(1)$xml->depart->children()这句是获得depart这个节点下的所有子节点;(2)foreach($xml->depart as $value){ echo $value->name;}(3)echo $xml->depart[0]->name[0];(4)通过xpath()这个函数。$xml->xpath('depart/name');这个得出的是一个数组。

4.修改xml节点的文本值:$xml->depart[0]>name[0]="vvvvvsss";

5.标准化xml:$xml->asXML();要把一个修改了值后的XML写入到文件中,先用这个标准化然后再写入。写入方式用文件操作函数。

6.用DOM对象动态的创建XML文档。

    首先要实例化dom对象:$dom=new DOMDocument();

   接着创建节点:$dom->createElement()比如:$depart=$dom->createElement('depart');如果创建的是文本节点的时候:$dom->createTextNode('')比如:$nodevalue=$dom->createTextNode('1001');

接着把创建的节目还是文本节点的归到他的父节目中去:父节点->appendChild(子节点)比如:$depart->appendChild('name');就这样一层层下去,组成一个多节点结构的XML文本。

最后,用$dom->saveXML()这个语句生成XML数据。如果要生成文件就把这个语句生成的内容写入到文件。

7.用DOM读取XML中的内容。

  首先还是要实例化dom,$dom=new DomDocument();

 接着把要读的XML文件加载进来,用$dom->load(文件);

再接着就是获得这个XML文件的根节点:用$dom->documentElement;

最后用一个递归函数来读取每个结点。

 

8.dom中获得一个节点的所有子节点,$节点->childNodes;判断一个节点是文本节点还是一个节点用:$节点->nodeType='XML_TEXT_NODE'或'XML_ELEMENT_NODE';

9.获得节点的值:用$节点->nodeValue;

10,递归读XML:<?php
$dom=new DomDocument();
$dom->load('xml1.xml');
$root=$dom->documentElement;
read_child($root);
function read_child($r){
 $child=$r->childNodes;
 foreach($child as $value){
  if($value->nodeType==XML_TEXT_NODE){
   echo $value->nodeValue."<br />";
  }else if($value->nodeType==XML_ELEMENT_NODE){
   read_child($value);
  }
 }
 
}


?>

 

 

  评论这张
 
阅读(688)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018