Dom(Document object model)文档-Xml文件对象模型
Dom(Document object model)文档-对象-模型,核心思想是把一个Xml文件看成一个对象模型,然后通过对象的方式来操作Xml文件。我们先总结出DOM对象的属性方法,在分别用案例说明其应用!
DOMDocument 属性:
Attributes存储节点的属性列表(只读)
childNodes存储节点的子节点列表(只读)
dataType返回此节点的数据类型
Definition以DTD或XML模式给出的节点的定义(只读)
Doctype 指定文档类型节点(只读)
documentElement返回文档的根元素(可读写)
firstChild返回当前节点的第一个子节点(只读)
Implementation返回XMLDOMImplementation对象
lastChild返回当前节点最后一个子节点(只读)
nextSibling返回当前节点的下一个兄弟节点(只读)
nodeName返回节点的名字(只读)
nodeType返回节点的类型(只读)
nodeTypedValue存储节点值(可读写)
nodeValue返回节点的文本(可读写)
ownerDocument返回包含此节点的根文档(只读)
parentNode返回父节点(只读)
Parsed 返回此节点及其子节点是否已经被解析(只读)
Prefix 返回名称空间前缀(只读)
preserveWhiteSpace指定是否保留空白(可读写)
previousSibling返回此节点的前一个兄弟节点(只读)
Text 返回此节点及其后代的文本内容(可读写)
url 返回最近载入的XML文档的URL(只读)
Xml 返回节点及其后代的XML表示(只读)
DOMDocument 方法:
appendChild为当前节点添加一个新的子节点,放在最后的子节点后
cloneNode返回当前节点的拷贝
createAttribute创建新的属性
createCDATASection创建包括给定数据的CDATA段
createComment创建一个注释节点
createDocumentFragment创建DocumentFragment对象
createElement_x创建一个元素节点
createEntityReference创建EntityReference对象
createNode创建给定类型,名字和命名空间的节点
createPorcessingInstruction创建操作指令节点
createTextNode创建包括给定数据的文本节点
getElementsByTagName返回指定名字的元素集合
hasChildNodes返回当前节点是否有子节点
insertBefore在指定节点前插入子节点
Load 导入指定位置的XML文档
loadXML 导入指定字符串的XML文档
removeChild从子结点列表中删除指定的子节点
replaceChild从子节点列表中替换指定的子节点
Save 把XML文件存到指定节点
selectNodes对节点进行指定的匹配,并返回匹配节点列表
selectSingleNode对节点进行指定的匹配,并返回第一个匹配节点
transformNode使用指定的样式表对节点及其后代进行转换
1**、创建一个Xml文件**
<?php //实例化一个DomDocument对象 $dom = new DomDocument('1.0', 'UTF-8'); ##### $doc->preserveWhiteSpace=false;//去除xml文档的空格; //如果文件不存在就创建一个 if(!file_exists("xml_test.xml")){ header("Content-Type:text/plain"); $root= $dom->createElement("class"); $dom->appendChild($root); $dom->save("xml_test.xml"); } else{ $dom->load("xml_test.xml"); } print$dom->saveXML(); ?>
2**、增加元素**
<?php //addElementsxml.php $dom = new DOMDocument("1.0","UTF-8"); $dom->load("xml_test.xml"); $root_class =$dom->getElementsByTagName("class"); $i = 0; // for($i = 0;$i < 4; $i++){ $root_class_node =$root_class->item($i); $stu_node=$dom->createElement("student"); $stu_node->setAttribute("xingbie","man"); $stu_node_name=$dom->createElement("name","name".$i); //设置属性 $stu_node_name->setAttribute("hel","23"); $stu_node_age=$dom->createElement("age","21"); $stu_node_introduce=$dom->createElement("introduce","1111"); $stu_node->appendChild($stu_node_name); $stu_node->appendChild($stu_node_age); $stu_node->appendChild($stu_node_introduce); $root_class_node->appendChild($stu_node); // } $dom->save("xml_test.xml"); print $dom->saveXML(); ?>
3**、遍历元素**
<?php //getNode.php //解析一个文件的步骤 //1创建一个对象,表示文档 $dom = new DOMDocument("1.0","UTF-8"); //2制定加载那个Xml,解析那个文件 $dom->load("xml_test.xml"); //3 获取你关新节点 $stu_nodes =$dom->getElementsByTagName("student"); for ($i=0;$i<$stu_nodes->length;$i++){ //取出每个学生 $stu_node= $stu_nodes->item($i); for($i=0;$i<$stu_node->childNodes->length;$i++){ echo$stu_node->childNodes->item($i)->nodeValue; echo "
"; } } ?>
4**、删除元素**
<?php //解析一个文件的步骤 //1创建一个对象,表示文档 $dom = new DOMDocument("1.0","UTF-8"); //2制定加载那个Xml,解析那个文件 $dom->load("xml_test.xml"); //3 获取你关新节点 $stu_nodes =$dom->getElementsByTagName("student"); $stu_node=$stu_nodes->item($stu_nodes->length -1); $stu_node->parentNode->removeChild($stu_node); $dom->save("xml_test.xml"); ?>
5**、修改元素属性**
<?php //1创建一个对象,表示文档 $dom = new DOMDocument("1.0","UTF-8"); //2制定加载那个Xml,解析那个文件 $dom->load("xml_test.xml"); //找到这个学生 $stus=$dom->getElementsByTagName("age")->item(0); $stus->nodeValue=100; $dom->save("xml_test.xml"); ?>
Dom(Document object model)文档-Xml文件对象模型相关推荐
- 【JavaScript】Document Object Model 文档对象模型
文章目录
- 前端基础入门之js什么是DOM Document Object Model
文章目录 DOM 1.DOM简介 文档 对象 模型 2.节点 节点类型 节点属性 文档节点(Document) 元素节点(Element) 文本节点(Text) 属性节点(Attr) 3.事件 4.文 ...
- DOM(document Object model)
API(BOM DOM) 就是一个接口 因为webAPI很多,我们将他称为webAPIs. web APIs由w3c规范 文档对象模型(document Object model)处理可扩展语言(HT ...
- DOM(document object model),文档对象模型
DOM 将标记语言文档一次性加载进内存中,在内存中形成一棵 DOM 数.
- DOM---文档对象模型(Document Object Model)的基本使用
一.DOM简介 文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展置标语言的标准编程接口.它是一种与平台和语言无关的应用程序接口(API),它可以动态 ...
- DOM(Document Object Model )
DOM(Document Object Model ) DOM是文档对象模型 ,DOM是关于创建,插入,修改,删除页面元素的标准.页面中的内容本质上都是字符串,但是js会把这些字符串转成DOM树,DO ...
- XML 解析XML文档 XML约束
XML 什么是XML Extensible Markup Language(可扩展的标记语言) 他是一个语言,有自己的语法,和Java以及其他的编程无关 "标记" 在文件中包含类似 ...
- 如何修复Word文档XML提示
如何修复Word文档XML提示 错误提示 所需工具 方法步骤 错误提示 所需工具 可视化XML编辑器(foxechs) 方法步骤 1.将docx文档解压,找到word/document.xml文件,用 ...
- word文档保存文件时出错_保存时如何自动创建Word文档的备份副本
word文档保存文件时出错 Backing up your documents is always a good thing to do, but not always something we re ...
最新文章
- 【C++】new和malloc的区别
- Linux系统中如何添加自己的库文件路径
- qt 实现 以图片为中心 让它旋转_QT图片旋转动画
- Android 下拉式抽屉折叠动画
- 【算法分析与设计】实验 分治算法解决Gray码问题
- linux检测硬件驱动,linux查看硬件信息及驱动设备相关整理
- UVA10934 Dropping water balloons【DP】
- Linux(Ubuntu)使用日记------自定义命令的使用
- 基于HK-2000 OEM的嵌入式Linux开发
- CUDA编程优化(存储器访问优化,指令优化,参数优化,)
- java 正则表达式大全_Java 正则表达式大全
- 算法: 唯一路径62. Unique Paths
- 在centos平台下用modelsim对altera的ip核进行仿真
- 最大子段和三种算法实现
- Java Instrument
- 生成的SMILES以及对应的图像的评价指标【1】
- WC2015简短感想
- 企业知识库的意义何在?到底如何高效搭建一个知识库?
- 神通数据库安装及使用手册
- 语音信号a率压缩算法c语言,基于OMAP5912平台的语音压缩算法实现
热门文章
- 使用Sketch进行iOS开发
- 鸿蒙系统宣传标语,小米、OV仍在旁观,华为喊出壮烈口号,争取一年内达成目标...
- 定时任务凌晨0-8点不执行
- 计算机房承重载荷,承重能力的简易计算
- IELTS Lexical Resources - reading 3 Human and nature
- day50_安卓项目开发基础C语言
- Android JetPack Compose初步2~实现可滚动列表的功能
- 禁用Ctrl+z撤销键,
- C语言单链表实现多项式的加法、减法、乘法
- 这个python是干嘛的啊-python干嘛用