`
pz9042
  • 浏览: 29889 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

PHP domdocment操作XML文件

    博客分类:
  • php
阅读更多
  php有很多的编辑器来解析创建操作XML文件,现在讲解下DOMDocument是如何解析及操作XML文件的。

  首先创建一个xml文件,代码如下
 
//如需在本页面输出xml,则添加header('content-type:application/xml');
//随便赋值
	$_id = '1';
	$_title = '中国船员被杀';
	$_content = '中国船员在泰国被杀';
	$_author = '凤凰网';
	$_sendtime = '2011年10月6号';
	$_htmlpatch = '1.html';
	
#创建DOMCument对象

	$doc=new DOMDocument('1.0','utf-8');

#创建节点

	$news=$doc->createElement('news');	

#创建节点

	$id=$doc->createElement('id',$_id);
	$title=$doc->createElement('title',$_title);
	$content=$doc->createElement('content',$_content);
	$summary=$doc->createElement('summary','测试');
	$autor=$doc->createElement('author',$_author);
	$sendtime=$doc->createElement('sendtime',$_sendtime);
	
#创建属性
 	$msg=$doc->createAttribute('msg');
 	$value=$doc->createTextNode('不能为空');
 	$msg->appendChild($value);
	
#将节点放入上级节点

	$news->appendChild($id);
	$news->appendChild($title);
	$news->appendChild($content);
	$news->appendChild($autor);
	$news->appendChild($sendtime);
	$content->appendChild($summary);
	$doc->appendChild($news);
	$title->appendChild($msg);
	
#save方法保存到文件里,输出xml文件,使用saveXML方法	
	 $doc->save('1.xml');

这个创建过程,创建了诸多节点,并且给某个节点添加属性和值。下面我们看下如何编辑XML文件的。代码如下:
  
 $doc=new DOMDocument();
 if($doc->load('1.xml')){
 	#获得根节点
 	$root=$doc->documentElement;
 	
 	$title=$root->getElementsByTagName('title'); //取得节点
    foreach($title as $value){
    //	echo $value->getAttribute('type');  //获取节点属性值
    //        $value->nodeValue='fsfsfs';    //更改节点文本值
          if($value->setAttribute('type','peng')){  //更改节点属性值
          	$doc->save('1.xml');
          }
          echo $value->nodeValue;
    }
 }

  编辑XML文件就是找到节点直接赋值就OK了,接下来,我们来操作下是如何删除节点的。我们以删除content下的summary节点为例:
  
$doc=new DOMDocument();
    if($doc->load('1.xml')){
    	 $root=$doc->documentElement;
    	 $content=$root->getElementsByTagName('content');
    	 foreach($content as $key =>$value){
    	 	
    	 	 if($summary=$value->getElementsByTagName('summary')&& $summary!=null){
    	 	   
    	 	 	//$value->removeChild($summary);
    	 	 	//echo $summary[]->nodeValue;
    	 	  foreach($summary as $var=>$result){
    	 	  	if($value->removeChild($result)){
    	 	  		echo '删除content下的summary成功';
    	 	  	}else{
    	 	  		echo '删除失败'; 
    	 	  	}
    	 	  	//echo $result->nodeValue;
    	 	  }
    	 	 }else{
    	 	
    	 	 	echo 'content下未找到summary节点';
    	 	 }
    	 }
    	$doc->save('1.xml');
    }

  对XML文件的操作完成了,其实,php解析XML文件方法有很多种,我们只要熟练的掌握其中一种即可
分享到:
评论

相关推荐

    js 操作xml 文件 读取xml文件

    js 操作xml 文件 读取xml文件 js 操作xml 文件 读取xml文件

    xml.zip_matlab读取xml文件实例_xml文件读取

    matlab读取复杂xml文件实例,来源于具体的项目开发

    js读取xml文件并获取文件内容

    js读取xml文件并获取文件内容

    C++读取XML文件内容

    本程序是用C++来读取一个XML文档中的内容,其中包括两方面的内容:一,创建一个XML文档;二,读取指定XML文档中的内容,非常适合于初学XML的人的一个C++源代码

    C++读取XML文件

    c++读取xml文件c++读取xml文件c++读取xml文件c++读取xml文件c++读取xml文件c++读取xml文件c++读取xml文件c++读取xml文件c++读取xml文件c++读取xml文件c++读取xml文件

    c++读取XML配置文件

    c++读取XML配置文件C++中并没有操作XML文件的标准库,因此大家需要使用各自熟悉的XML库来解决XML文件的读取与写入。XML的一个重要用途是作为程序的配置文件,存储程序运行相关的各种数据。本文总结了使用libxml2库来...

    php读取xml文件类

    一款php xml读取类,很简单的一个xml分析类了,它可读取指它xml文档,并且输出或取得指定节点的xml数据,本xml类代码是利用了php domdocument来解析xml文档。

    QT中读取XML文件三种方式 的实例

    XML(eXtensible Markup Language)是一种通用的文本格式,被广泛运用于数据交换和数据存储(虽然近年来 JSON 盛行,大有取代 XML 的趋势,但是对于一些已有系统和架构,比如 WebService,由于历史原因,仍旧会继续...

    用java读取xml文件的四种方法

    用java读取xml文件的四种方法

    SQL Server中读取XML文件的简单做法

    文中介绍了SQL Server中读取XML文件的简单方法。有了这种解决办法,对XML文档进行各种处理就成为了可能。可以将XML文档同SQL表格连接在一起而无需导入数据,然后对这些数据进行INSERT、PDATE和DELETE等任何操作。

    Qt以tableWidget/tableView读取xml文件,并做降序排列等操作

    利用Qt读取xml文件,一种是debug下的xml文件,一种是任意文件夹下的xml文件,并用tableWidget和tableView两种方式读取。这里的xml文件是学生成绩,所以还完成了平均分,总分,降序排列的操作。

    python XML文件读取

    提供简单python读取xml方式,适用于简单xml文件读取功能

    读取XML文件的四种方法

    读取XML文件的四种方法,详细介绍了dom,jdom,dom4j,sax

    如何用vc创建和读取xml文件

    MSXML解析器允许你装载和创建一个文档,收集文档的错误信息,得到和操作文档中的所有的信息和结构,并把文档保存在一个XML文件中。DOM提供给用户一个接口来装载、到达和操作并序列化XML文档。DOM提供了对存储在内存...

    C# XML文件读取示例

    C# XML文件读取示例

    vb读取xml文件节点值操作实例

    VB读取XML文件的操作实例,演示读取XML各个定义键的值。程序是一个专一读取XML文件的VB类,并没有使用微软的XML.DLL。因此比较有参考价值,很不错。

    C#读取XML文件并写入数据库

    C#读取XML文件并写入数据库的三种方法,直接写入和先读取到内存再写入数据库

    C#读取XML文件 xml .net

    使用C#读取XML文件的简单操作类 xml .net

    c语言读取xml文件

    c语言 读取xml文件,相信对大家读取c语言文件有帮助

Global site tag (gtag.js) - Google Analytics