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文件
matlab读取复杂xml文件实例,来源于具体的项目开发
js读取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文件的标准库,因此大家需要使用各自熟悉的XML库来解决XML文件的读取与写入。XML的一个重要用途是作为程序的配置文件,存储程序运行相关的各种数据。本文总结了使用libxml2库来...
一款php xml读取类,很简单的一个xml分析类了,它可读取指它xml文档,并且输出或取得指定节点的xml数据,本xml类代码是利用了php domdocument来解析xml文档。
XML(eXtensible Markup Language)是一种通用的文本格式,被广泛运用于数据交换和数据存储(虽然近年来 JSON 盛行,大有取代 XML 的趋势,但是对于一些已有系统和架构,比如 WebService,由于历史原因,仍旧会继续...
用java读取xml文件的四种方法
文中介绍了SQL Server中读取XML文件的简单方法。有了这种解决办法,对XML文档进行各种处理就成为了可能。可以将XML文档同SQL表格连接在一起而无需导入数据,然后对这些数据进行INSERT、PDATE和DELETE等任何操作。
利用Qt读取xml文件,一种是debug下的xml文件,一种是任意文件夹下的xml文件,并用tableWidget和tableView两种方式读取。这里的xml文件是学生成绩,所以还完成了平均分,总分,降序排列的操作。
提供简单python读取xml方式,适用于简单xml文件读取功能
读取XML文件的四种方法,详细介绍了dom,jdom,dom4j,sax
MSXML解析器允许你装载和创建一个文档,收集文档的错误信息,得到和操作文档中的所有的信息和结构,并把文档保存在一个XML文件中。DOM提供给用户一个接口来装载、到达和操作并序列化XML文档。DOM提供了对存储在内存...
C# XML文件读取示例
VB读取XML文件的操作实例,演示读取XML各个定义键的值。程序是一个专一读取XML文件的VB类,并没有使用微软的XML.DLL。因此比较有参考价值,很不错。
C#读取XML文件并写入数据库的三种方法,直接写入和先读取到内存再写入数据库
使用C#读取XML文件的简单操作类 xml .net
c语言 读取xml文件,相信对大家读取c语言文件有帮助