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文件对象模型相关推荐

  1. 【JavaScript】Document Object Model 文档对象模型

    文章目录

  2. 前端基础入门之js什么是DOM Document Object Model

    文章目录 DOM 1.DOM简介 文档 对象 模型 2.节点 节点类型 节点属性 文档节点(Document) 元素节点(Element) 文本节点(Text) 属性节点(Attr) 3.事件 4.文 ...

  3. DOM(document Object model)

    API(BOM DOM) 就是一个接口 因为webAPI很多,我们将他称为webAPIs. web APIs由w3c规范 文档对象模型(document Object model)处理可扩展语言(HT ...

  4. DOM(document object model),文档对象模型

    DOM 将标记语言文档一次性加载进内存中,在内存中形成一棵 DOM 数.

  5. DOM---文档对象模型(Document Object Model)的基本使用

    一.DOM简介 文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展置标语言的标准编程接口.它是一种与平台和语言无关的应用程序接口(API),它可以动态 ...

  6. DOM(Document Object Model )

    DOM(Document Object Model ) DOM是文档对象模型 ,DOM是关于创建,插入,修改,删除页面元素的标准.页面中的内容本质上都是字符串,但是js会把这些字符串转成DOM树,DO ...

  7. XML 解析XML文档 XML约束

    XML 什么是XML Extensible Markup Language(可扩展的标记语言) 他是一个语言,有自己的语法,和Java以及其他的编程无关 "标记" 在文件中包含类似 ...

  8. 如何修复Word文档XML提示

    如何修复Word文档XML提示 错误提示 所需工具 方法步骤 错误提示 所需工具 可视化XML编辑器(foxechs) 方法步骤 1.将docx文档解压,找到word/document.xml文件,用 ...

  9. word文档保存文件时出错_保存时如何自动创建Word文档的备份副本

    word文档保存文件时出错 Backing up your documents is always a good thing to do, but not always something we re ...

最新文章

  1. 【C++】new和malloc的区别
  2. Linux系统中如何添加自己的库文件路径
  3. qt 实现 以图片为中心 让它旋转_QT图片旋转动画
  4. Android 下拉式抽屉折叠动画
  5. 【算法分析与设计】实验 分治算法解决Gray码问题
  6. linux检测硬件驱动,linux查看硬件信息及驱动设备相关整理
  7. UVA10934 Dropping water balloons【DP】
  8. Linux(Ubuntu)使用日记------自定义命令的使用
  9. 基于HK-2000 OEM的嵌入式Linux开发
  10. CUDA编程优化(存储器访问优化,指令优化,参数优化,)
  11. java 正则表达式大全_Java 正则表达式大全
  12. 算法: 唯一路径62. Unique Paths
  13. 在centos平台下用modelsim对altera的ip核进行仿真
  14. 最大子段和三种算法实现
  15. Java Instrument
  16. 生成的SMILES以及对应的图像的评价指标【1】
  17. WC2015简短感想
  18. 企业知识库的意义何在?到底如何高效搭建一个知识库?
  19. 神通数据库安装及使用手册
  20. 语音信号a率压缩算法c语言,基于OMAP5912平台的语音压缩算法实现

热门文章

  1. 使用Sketch进行iOS开发
  2. 鸿蒙系统宣传标语,小米、OV仍在旁观,华为喊出壮烈口号,争取一年内达成目标...
  3. 定时任务凌晨0-8点不执行
  4. 计算机房承重载荷,承重能力的简易计算
  5. IELTS Lexical Resources - reading 3 Human and nature
  6. day50_安卓项目开发基础C语言
  7. Android JetPack Compose初步2~实现可滚动列表的功能
  8. 禁用Ctrl+z撤销键,
  9. C语言单链表实现多项式的加法、减法、乘法
  10. 这个python是干嘛的啊-python干嘛用