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

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文件方法有很多种,我们只要熟练的掌握其中一种即可
分享到:
评论

相关推荐

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

    `xmlread`用于读取XML文件并将其转换为一个文档对象模型(DOM)树,而`xmlwrite`则可以将DOM树写回到XML文件。DOM树是一种数据结构,它代表了XML文件的整个内容,允许我们遍历和修改文件的各个部分。 例如,假设...

    pb下读写xml文件的例子.rar_pb_pb 读取xml_pb 读取xml文件_pb9 xml_pb下读写xml文件的例子

    本示例主要探讨如何在PowerBuilder 9(PB9)中进行XML文件的读取和写入操作。 首先,我们需要了解PowerBuilder中的XML支持。PB9引入了对XML的支持,包括XMLDocument对象和DOM解析器,使得开发者能够方便地与XML数据...

    js 操作xml 文件 读取xml文件

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

    读取XML文件的四种方法

    优点:SAX方法提供了高效的XML解析方式,不需要将整个XML文档加载到内存中,适合大型XML文件的读取。 缺点:SAX方法需要实现事件处理器,编程较为复杂。 读取XML文件有多种方法,每种方法都有其优缺点。选择合适的...

    php读取xml文件类

    在提供的“php读取xml文件类”中,很可能是封装了上述操作,以更方便的方式提供XML读取功能。可能包括以下功能: - 初始化类时指定XML文件路径。 - 提供方法来获取XML文档的根节点。 - 提供根据标签名或ID获取节点...

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

    ### JS读取XML文件并获取文件内容 #### 知识点概述 在现代Web开发中,JavaScript(简称JS)常被用于处理各种数据格式,包括XML。XML(可扩展标记语言)是一种常用的标记语言,主要用于结构化数据的存储与传输。...

    VB读取XML文件

    ### VB读取XML文件知识点详解 #### 一、概述 在软件开发过程中,XML(可扩展标记语言)因其良好的结构化特性,在数据交换与存储方面得到了广泛应用。Visual Basic(简称VB),作为一款功能强大的编程语言,支持...

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

    在SQL Server中,读取XML文件并对其进行处理是数据库...在SQL Server的后续版本中,如SQL Server 2005及更高版本,处理XML的功能得到了显著增强,例如引入了XML数据类型和更强大的XML方法,使得XML操作更加简便高效。

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

    要读取XML文件,Java提供了多种方法。以下是四种常用的方法,每种都有其适用场景和特点: 1. **DOM解析器(Document Object Model)** DOM解析器将整个XML文件加载到内存中,创建一个树形结构,允许我们通过节点...

    C++读取XML文件内容

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

    C# XML文件读取示例

    本示例将详细介绍如何在C#中读取XML文件,帮助开发者理解并掌握相关技术。 首先,让我们了解XML文件的基本结构。XML文件通常包含元素(Element)、属性(Attribute)、文本内容(Text Content)等组成部分。元素是...

    C++读取XML文件

    - 对于更复杂的XML操作,如XPath查询或DOM之外的操作,可以考虑使用更强大的库,如pugixml或 RapidXML。 以上是使用TinyXML在C++中读取XML文件的基本步骤和关键知识点。通过这些知识,你可以实现对XML文件的解析、...

    c++读取XML配置文件

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

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

    - `XDocument` 和 `XmlDocument` 都提供了一种将整个XML文档加载到内存中的方式,然后可以方便地通过LINQ查询语法操作XML数据。适合较小的XML文件。 - `XDocument` 更为推荐,因为它提供了更简洁的API,而 `Xml...

    tinyxml2解析XML文件读取数据

    XML(eXtensible Markup Language)是一种用于标记数据的语言,...通过熟练掌握其API,开发者可以轻松地从XML文件中读取数据,或者创建和修改XML文档。在实际开发中,可以根据项目需求和性能要求,灵活运用这些功能。

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

    `New`构造函数接收XML文件路径作为参数,然后在`ReadNodeValues`方法中逐行读取文件,解析XML结构。我们用一个字典来存储节点名及其对应的值。 请注意,这个示例类仅适用于非常基础的XML结构,对于更复杂的XML文档...

    halcon XML文件处理函数,halcon函数手册,Halcon

    使用`read_xml_file`函数读取文件后,可以解析出这些信息,然后在HALCON的流程中使用。 另一方面,当完成一项任务并调整了相关参数后,可以使用`write_xml_file`将这些新设置保存回XML文件,以便于后续调用或与其他...

    java读取xml文件

    Java 读取 XML 文件是 Java 开发中常见的一项任务,XML(eXtensible Markup Language)作为一种可扩展标记语言,广泛用于数据交换、配置存储等领域。本教程将深入讲解如何在 Java 中处理 XML 文件,同时涉及 XML 的 ...

Global site tag (gtag.js) - Google Analytics