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文件方法有很多种,我们只要熟练的掌握其中一种即可
分享到:
相关推荐
`xmlread`用于读取XML文件并将其转换为一个文档对象模型(DOM)树,而`xmlwrite`则可以将DOM树写回到XML文件。DOM树是一种数据结构,它代表了XML文件的整个内容,允许我们遍历和修改文件的各个部分。 例如,假设...
本示例主要探讨如何在PowerBuilder 9(PB9)中进行XML文件的读取和写入操作。 首先,我们需要了解PowerBuilder中的XML支持。PB9引入了对XML的支持,包括XMLDocument对象和DOM解析器,使得开发者能够方便地与XML数据...
js 操作xml 文件 读取xml文件 js 操作xml 文件 读取xml文件
优点:SAX方法提供了高效的XML解析方式,不需要将整个XML文档加载到内存中,适合大型XML文件的读取。 缺点:SAX方法需要实现事件处理器,编程较为复杂。 读取XML文件有多种方法,每种方法都有其优缺点。选择合适的...
在提供的“php读取xml文件类”中,很可能是封装了上述操作,以更方便的方式提供XML读取功能。可能包括以下功能: - 初始化类时指定XML文件路径。 - 提供方法来获取XML文档的根节点。 - 提供根据标签名或ID获取节点...
### JS读取XML文件并获取文件内容 #### 知识点概述 在现代Web开发中,JavaScript(简称JS)常被用于处理各种数据格式,包括XML。XML(可扩展标记语言)是一种常用的标记语言,主要用于结构化数据的存储与传输。...
### VB读取XML文件知识点详解 #### 一、概述 在软件开发过程中,XML(可扩展标记语言)因其良好的结构化特性,在数据交换与存储方面得到了广泛应用。Visual Basic(简称VB),作为一款功能强大的编程语言,支持...
在SQL Server中,读取XML文件并对其进行处理是数据库...在SQL Server的后续版本中,如SQL Server 2005及更高版本,处理XML的功能得到了显著增强,例如引入了XML数据类型和更强大的XML方法,使得XML操作更加简便高效。
要读取XML文件,Java提供了多种方法。以下是四种常用的方法,每种都有其适用场景和特点: 1. **DOM解析器(Document Object Model)** DOM解析器将整个XML文件加载到内存中,创建一个树形结构,允许我们通过节点...
本程序是用C++来读取一个XML文档中的内容,其中包括两方面的内容:一,创建一个XML文档;二,读取指定XML文档中的内容,非常适合于初学XML的人的一个C++源代码
本示例将详细介绍如何在C#中读取XML文件,帮助开发者理解并掌握相关技术。 首先,让我们了解XML文件的基本结构。XML文件通常包含元素(Element)、属性(Attribute)、文本内容(Text Content)等组成部分。元素是...
- 对于更复杂的XML操作,如XPath查询或DOM之外的操作,可以考虑使用更强大的库,如pugixml或 RapidXML。 以上是使用TinyXML在C++中读取XML文件的基本步骤和关键知识点。通过这些知识,你可以实现对XML文件的解析、...
c++读取XML配置文件C++中并没有操作XML文件的标准库,因此大家需要使用各自熟悉的XML库来解决XML文件的读取与写入。XML的一个重要用途是作为程序的配置文件,存储程序运行相关的各种数据。本文总结了使用libxml2库来...
- `XDocument` 和 `XmlDocument` 都提供了一种将整个XML文档加载到内存中的方式,然后可以方便地通过LINQ查询语法操作XML数据。适合较小的XML文件。 - `XDocument` 更为推荐,因为它提供了更简洁的API,而 `Xml...
XML(eXtensible Markup Language)是一种用于标记数据的语言,...通过熟练掌握其API,开发者可以轻松地从XML文件中读取数据,或者创建和修改XML文档。在实际开发中,可以根据项目需求和性能要求,灵活运用这些功能。
`New`构造函数接收XML文件路径作为参数,然后在`ReadNodeValues`方法中逐行读取文件,解析XML结构。我们用一个字典来存储节点名及其对应的值。 请注意,这个示例类仅适用于非常基础的XML结构,对于更复杂的XML文档...
使用`read_xml_file`函数读取文件后,可以解析出这些信息,然后在HALCON的流程中使用。 另一方面,当完成一项任务并调整了相关参数后,可以使用`write_xml_file`将这些新设置保存回XML文件,以便于后续调用或与其他...
Java 读取 XML 文件是 Java 开发中常见的一项任务,XML(eXtensible Markup Language)作为一种可扩展标记语言,广泛用于数据交换、配置存储等领域。本教程将深入讲解如何在 Java 中处理 XML 文件,同时涉及 XML 的 ...