DOMDocument类的属性及方法

PHP XML操作类DOMDocument属性及方法
注意大小写一定不能弄错.
属性:
1. Attributes 存储节点的属性列表(只读)
2. childNodes 存储节点的子节点列表(只读)
3. dataType 返回此节点的数据类型
4. Definition 以DTD或XML模式给出的节点的定义(只读)
5. Doctype 指定文档类型节点(只读)
6. documentElement 返回文档的根元素(可读写)
7. firstChild 返回当前节点的第一个子节点(只读)
8. Implementation 返回XMLDOMImplementation对象
9. lastChild 返回当前节点最后一个子节点(只读)
10. nextSibling 返回当前节点的下一个兄弟节点(只读)
11. nodeName 返回节点的名字(只读)
12. nodeType 返回节点的类型(只读)
13. nodeTypedValue 存储节点值(可读写)
14. nodeValue 返回节点的文本(可读写)
15. ownerDocument 返回包含此节点的根文档(只读)
16. parentNode 返回父节点(只读)
17. Parsed 返回此节点及其子节点是否已经被解析(只读)
18. Prefix 返回名称空间前缀(只读)
19. preserveWhiteSpace 指定是否保留空白(可读写)
20. previousSibling 返回此节点的前一个兄弟节点(只读)
21. Text 返回此节点及其后代的文本内容(可读写)
22. url 返回最近载入的XML文档的URL(只读)
23. Xml 返回节点及其后代的XML表示(只读)
方法:
1appendChild 为当前节点添加一个新的子节点,放在最后的子节点后2cloneNode 返回当前节点的拷贝
3createAttribute 创建新的属性
4createCDATASection 创建包括给定数据的CDATA段
5createComment 创建一个注释节点
6createDocumentFragment 创建DocumentFragment对象
7createElement 创建一个元素节点
8createEntityReference 创建EntityReference对象
9createNode 创建给定类型,名字和命名空间的节点
10createPorcessingInstruction 创建操作指令节点
11createTextNode 创建包括给定数据的文本节点
12getElementsByTagName 返回指定名字的元素集合
13hasChildNodes 返回当前节点是否有子节点
14insertBefore 在指定节点前插入子节点
15Load 导入指定位置的XML文档
16loadXML 导入指定字符串的XML文档
17removeChild 从子结点列表中删除指定的子节点
18replaceChild 从子节点列表中替换指定的子节点
19Save 把XML文件存到指定节点
20selectNodes 对节点进行指定的匹配,并返回匹配节点列表
21selectSingleNode 对节点进行指定的匹配,并返回第一个匹配节点22transformNode 使用指定的样式表对节点及其后代进行转换
23transformNodeToObject 使用指定的样式表将节点及其后代转换。

合集下载

dom学习笔记

dom学习笔记

DOM一、基本概念1、DOM :Document Object Model 缩写,文档对象模型。

2、元素:一个元素就是HTML 标签,包括其中的属性和内容。

二、元素对象1、浏览器本身、文档,以及HTML 元素都可以当作对象。

2、把元素声明成对象的三种方法:1)使用var test =document.getElementById(‘s’)test 就是id 为s 的元素的对象实例2)onclick=”show(this)”this 就代表这个元素的对象实例3)<script for=”s”event=”onclick”>xxx</script>三、事件源、事件、事件处理程序1、事件源:在哪里发生2、事件:发生什么事3、事件处理程序:处理发生事的程序四、元素对象1、公共属性:1)Object.属性:设置元素属性。

a.href =‘’;2)object.getAttribute(“元素名”):获取元素属性值var i =a.getAttribute(‘href’);3)Object.innerText :修改HTML 内容(只操作文本)。

4)Object.innerHTML :修改HTML 内容(可以插入HTML 标签)。

a.innerHTML =“<img src=’xxx.jpg’/>”;5)Object.style :返回对象的样式,是一个对象类型a.style.color =“red”;6)Object.className :CSS 类名<style>.test{color:red;}</style>a.className =‘test’;7)Object.appendChild(‘s’):向本元素中嵌入其它元素。

var img =document.createElement(‘img’);a.appendChild(‘img’);8)Object.removeChild(‘s’):删除本元素中内嵌的元素。

JS的Document属性和方法

JS的Document属性和方法

JS的Document属性和⽅法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表⽰(只读)⽅法:appendChild 为当document.write() //动态向页⾯写⼊内容document.createElement_x(Tag) //创建⼀个html标签对象document.getElementByIdx_x(ID) //获得指定ID值的对象document.getElementsByName(Name) //获得指定Name值的对象前节点添加⼀个新的⼦节点,放在最后的⼦节点后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 使⽤指定的样式表对节点及其后代进⾏转换transformNodeToObject 使⽤指定的样式表将节点及其后代转换为对象body-主体⼦对象document.body //指定⽂档主体的开始和结束等价于body>/body>document.body.bgColor //设置或获取对象后⾯的背景颜⾊document.body.link //未点击过的链接颜⾊document.body.alink //激活链接(焦点在此链接上)的颜⾊document.body.vlink //已点击过的链接颜⾊document.body.text //⽂本⾊document.body.innerText //设置body>…/body>之间的⽂本document.body.innerHTML //设置body>…/body>之间的HTML代码document.body.topMargin //页⾯上边距document.body.leftMargin //页⾯左边距document.body.rightMargin //页⾯右边距document.body.bottomMargin //页⾯下边距document.body.background //背景图⽚document.body.appendChild(oTag) //动态⽣成⼀个HTML对象常⽤对象事件document.body.onclick=”func()” //⿏标指针单击对象是触发document.body.onmouseover=”func()” //⿏标指针移到对象时触发document.body.onmouseout=”func()” //⿏标指针移出对象时触发———————————————————————location-位置⼦对象document.location.hash // #号后的部分document.location.host // 域名+端⼝号document.location.hostname // 域名document.location.href // 完整URLdocument.location.pathname // ⽬录部分document.location.port // 端⼝号document.location.protocol // ⽹络协议(http:)document.location.search // ?号后的部分documeny.location.reload() //刷新⽹页document.location.reload(URL) //打开新的⽹页document.location.assign(URL) //打开新的⽹页document.location.replace(URL) //打开新的⽹页———————————————————————selection-选区⼦对象document.selection ———————————————————————images集合(页⾯中的图象)a)通过集合引⽤document.images //对应页⾯上的img标签document.images.length //对应页⾯上img标签的个数document.images[0] //第1个img标签document.images[i] //第i-1个img标签b)通过nane属性直接引⽤img name=”oImage”document.images.oImage //属性c)引⽤图⽚的src属性document.images.oImage.src //属性.src d)创建⼀个图象var oImageoImage = new Image()document.images.oImage.src=”1.jpg”同时在页⾯上建⽴⼀个img /标签与之对应就可以显⽰———————————————————————-forms集合(页⾯中的表单)a)通过集合引⽤document.forms //对应页⾯上的form标签document.forms.length //对应页⾯上/formform标签的个数document.forms[0] //第1个/formform标签document.forms[i] //第i-1个/formform标签document.forms[i].length //第i-1个/formform中的控件数document.forms[i].elements[j] //第i-1个/formform中第j-1个控件b)通过标签name属性直接引⽤/formform name=”Myform”>input name=”myctrl”/>/form document.Myform.myctrl //document.表单名.控件名c)访问表单的属性document.forms[i].name //对应form name>属性document.forms[i].action //对应/formform action>属性document.forms[i].encoding //对应/formform enctype>属性document.forms[i].target //对应/formform target>属性document.forms[i].appendChild(oTag) //动态插⼊⼀个控件document.all.oDiv //引⽤图层oDivdocument.all.oDiv.style.display=” //图层设置为可视document.all.oDiv.style.display=”none” //图层设置为隐藏document.getElementId(”oDiv”) //通过getElementId引⽤对象document.getElementId(”oDiv”).style=”document.getElementId(”oDiv”).display=”none”图层对象的4个属性document.getElementByIdx_x(”ID”).innerText //动态输出⽂本document.getElementByIdx_x(”ID”).innerHTML //动态输出HTMLdocument.getElementByIdx_x(”ID”).outerText //同innerTextdocument.getElementByIdx_x(”ID”).outerHTML //同innerHTMLdocument属性作为window对象的⼀个⼦对象被创建,是⽤于访问页⾯中所有元素的对象。

php中DOMDocument简单用法示例代码(XML创建、添加、删除、修改)

php中DOMDocument简单用法示例代码(XML创建、添加、删除、修改)

php中DOMDocument简单⽤法⽰例代码(XML创建、添加、删除、修改)共分四个⽂件,分别是创建、增加、删除、修改四个功能,变量都是写死的,改⼀改⽤$_POST⽅式接收就可以⽤了//index.php 创建功能复制代码代码如下:<?php$xmlpatch = 'index.xml';$_id = '1';$_title = 'title1';$_content = 'content1';$_author = 'author1';$_sendtime = 'time1';$_htmlpatch = '1.html';$doc = new DOMDocument('1.0', 'utf-8');$doc -> formatOutput = true;$root = $doc -> createElement('root');//新建节点$index = $doc -> createElement('index');//新建节点$url = $doc -> createAttribute('url');//新建属性$patch = $doc -> createTextNode($_htmlpatch);//新建TEXT值$url -> appendChild($patch);//将$patch⽂本设为$url属性的值$id = $doc -> createAttribute('id');$newsid = $doc -> createTextNode($_id);$id -> appendChild($newsid);$title = $doc -> createAttribute('title');$newstitle = $doc -> createTextNode($_title);$title -> appendChild($newstitle);$content = $doc -> createTextNode($_content);//节点值$author = $doc -> createAttribute('author');$newsauthor = $doc -> createTextNode($_author);$author -> appendChild($newsauthor);$sendtime = $doc -> createAttribute('time');$newssendtime = $doc -> createTextNode($_sendtime);$sendtime -> appendChild($newssendtime);$index -> appendChild($id);//将$id设为index节点的属性,以下类同$index -> appendChild($title);$index -> appendChild($content);$index -> appendChild($url);$index -> appendChild($author);$index -> appendChild($sendtime);$root -> appendChild($index);//设置index为root字节点$doc -> appendChild($root);//设置root为跟节点$doc -> save($xmlpatch);//保存⽂件echo $xmlpatch . ' has create success';?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>XML操作</title></head><body></body></html>//add.php 增加功能(跟index.php⽂件差不多,主要就是加个load载⼊跟 $root = $doc -> documentElement获得跟节点复制代码代码如下:<?php$xmlpatch = 'index.xml';$_id = '2';$_title = 'title2';$_content = 'content2';$_author = 'author2';$_sendtime = 'time2';$_htmlpatch = '2.html';$doc = new DOMDocument();$doc -> formatOutput = true;if($doc -> load($xmlpatch)) {$root = $doc -> documentElement;//获得根节点(root)$index = $doc -> createElement('index');$url = $doc -> createAttribute('url');$patch = $doc -> createTextNode($_htmlpatch);$url -> appendChild($patch);$id = $doc -> createAttribute('id');$newsid = $doc -> createTextNode($_id);$id -> appendChild($newsid);$title = $doc -> createAttribute('title');$newstitle = $doc -> createTextNode($_title);$title -> appendChild($newstitle);$content = $doc -> createTextNode($_content);$author = $doc -> createAttribute('author');$newsauthor = $doc -> createTextNode($_author);$author -> appendChild($newsauthor);$sendtime = $doc -> createAttribute('time');$newssendtime = $doc -> createTextNode($_sendtime);$sendtime -> appendChild($newssendtime);$index -> appendChild($id);$index -> appendChild($title);$index -> appendChild($content);$index -> appendChild($url);$index -> appendChild($author);$index -> appendChild($sendtime);$root -> appendChild($index);$doc -> save($xmlpatch);echo $_id . ' has been added in ' . $xmlpatch;} else {echo 'xml file loaded error!';}><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>XML操作-添加</title></head><body></body></html>//edit.php 修改功能(这⾥只修改title属性值跟节点值)复制代码代码如下:<?php$xmlpatch = 'index.xml';$_id = '2';$_title = 'has been changed';$_content = 'has been changed';$doc = new DOMDocument();$doc -> formatOutput = true;if($doc -> load($xmlpatch)) {$root = $doc -> documentElement;$elm = $root -> getElementsByTagName('index');$checkexist = 0;foreach ($elm as $new) {if($new -> getAttribute('id') == $_id) {$new -> setAttribute('title', $_title);$new -> nodeValue = $_content;//修改节点值,真是太意外了,没想到跟JS⼀样直接能赋值...//$new -> removeChild($new -> nodevalue);$checkexist = 1;}}if($checkexist == 0) {echo $_id . ' is not found in ' . $xmlpatch;} else {$doc -> save($xmlpatch);echo $_id . ' has been changed';}} else {echo 'xml file loaded error!';}?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>XML操作-修改</title></head><body></body></html>//del.php 删除功能复制代码代码如下:<?php$xmlpatch = 'index.xml';$_id = '2';$doc = new DOMDocument();$doc -> formatOutput = true;if($doc -> load($xmlpatch)) {$root = $doc -> documentElement;$elm = $root -> getElementsByTagName('index');foreach ($elm as $new) {if($new -> getAttribute('id') == $_id) {if($root -> removeChild($new)) {echo $_id . ' has been deleted';} else {echo $_id . ' delete failed';}}}$doc -> save($xmlpatch);} else {echo 'xml file loaded error!';}?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>XML操作-删除</title></head><body></body></html>总结⼀下,创建跟添加主要⽤的就是create跟appendChild,create后边跟Element就是创建节点,跟Attribute就是创建属性,TextNode就是创建值,然后appendChild就是设置从属关系,这么⼀看⾮常简单。

dom对象常用的属性和方法有哪些?

dom对象常用的属性和方法有哪些?

dom对象常⽤的属性和⽅法有哪些?dom对象常⽤的属性和⽅法有哪些?⼀、总结⼀句话总结:1、document属性和⽅法:document的属性有head,body之类,⽅法有各种获取element的⽅法2、element的属性和⽅法:属性⽐如style,innerHTML和固有属性,⽅法⽐如各种动态操作元素,⽐如createElement,还有操作属性的set、get、remove、create解Attribute3、attribute的属性和⽅法:有点包含在element⾥⾯的感觉1、我们熟知location是window的属性或者说对象,那么document对象有location属性么?解答:window有location对象,document同样有location对象,2、如何获取⼀个html的⽂档声明?解答:document.doctype;//可以知道⽂档声明,如果没有return null;这⾥是<!DOCTYPE html>3、⼀个有如下 <!DOCTYPE html>⽂档声明的html⽂档,它的⽂档声明的名字是什么?解答:html4、如何获取⼀个html的head部分?解答:document.head//很明显选取head节点.就是<head></head>这段5、如何获取⼀个html的body部分?解答:document.body//选取body节点.6、如何获取⼀个⽂档的⽂档声明的名字?解答://知道⽂档声明的名字.7、document的location属性是来⼲嘛的?解答:ocation⼀般主要是⽤来获取地址。

8、如何获取⼀个⽂档当前的地址?解答:document.location.href//获取当前地址9、给⽂档重新分配地址的三种⽅法是哪三种?10、innerText和innerHTML的区别是什么(两点区别)?解答:⼀个是获取⽂本,⼀个是获取标签。

vb6 msxml.domdocument 的 selectsinglenode 返回类型

vb6 msxml.domdocument 的 selectsinglenode 返回类型

vb6 msxml.domdocument 的selectsinglenode 返回类型在VB6中,使用MSXML.DOMDocument对象的SelectSingleNode 方法可以从XML文档中选择一个节点,并返回一个MSXML.IXMLDOMNode对象。

下面是关于SelectSingleNode方法返回类型的详细说明:1. 返回类型:SelectSingleNode方法的返回类型是MSXML.IXMLDOMNode。

这是一个接口类型,用于表示XML文档中的一个节点。

2. MSXML.IXMLDOMNode接口:MSXML.IXMLDOMNode接口是MSXML库中定义的一个接口,它提供了访问和操作XML节点的方法和属性。

通过这个接口,可以获取节点的名称、值、属性、子节点等信息。

3. 使用SelectSingleNode方法:使用SelectSingleNode方法时,需要提供一个XPath表达式作为参数,用于指定要选择的节点。

XPath是一种用于在XML文档中定位节点的语言,可以根据节点的路径、名称、属性等条件进行选择。

例如,假设有以下XML文档:```xml<root><book><title>Book 1</title><author>Author 1</author></book><book><title>Book 2</title><author>Author 2</author></book></root>```下面的代码演示了如何使用SelectSingleNode方法选择第一个book节点,并获取其子节点的值:```vbDim xmlDoc As MSXML.DOMDocumentDim bookNode As MSXML.IXMLDOMNodeDim titleNode As MSXML.IXMLDOMNodeDim authorNode As MSXML.IXMLDOMNodeSet xmlDoc = New MSXML.DOMDocumentxmlDoc.Load "path_to_xml_file.xml"Set bookNode = xmlDoc.SelectSingleNode("//book[1]")Set titleNode = bookNode.SelectSingleNode("title")Set authorNode = bookNode.SelectSingleNode("author")MsgBox "Title: " & titleNode.Text & vbCrLf & "Author: " & authorNode.Text```在上面的代码中,通过SelectSingleNode方法选择第一个book节点,并使用SelectSingleNode方法选择其子节点title和author。

Dom属性方法

Dom属性方法

nextSibling Node 指向后一个兄弟节点;如果这个节点就是最后一个兄弟节
点,那么该值为null
hasChildNodes() Boolean 当childNodes包含一个或多个节点时,返回真
attributes NamedNodeMap 包含了代表一个元素的特性的Attr对象仅用于 Element节点
hasChildNodes()
该方法用来检查一个元素是否有子节点,返回值是 true 或 false.
var booleanValue = element.hasChildNodes();
文本节点和属性节点不可能再包含任何子节点,所以对这两类节点使用 hasChildNodes 方法的返回值永远是 false.
(17)DOM 属性 -- nodeValue
nodeValue:返回给定节点的当前值(字符串)
如果给定节点是一个属性节点,返回值是这个属性的值。
如果给定节点是一个文本节点,返回值是这个文本节点的内容。
如果给定节点是一个元素节点,返回值是 null
nodeValue 是一个 读/写 属性,但不能对元素节点的 nodeValue 属性设置 值,但可以为文本节点的 nodeValue 属性设置一个值。
getElementsByTagName()
寻找有着给定标签名的所有元素,这个方法将返回一个节点集合,这个集合可以当作一个数组来处理。这个集合的 length 属性等于当前文
档里有着给定标签名的所有元素的总个数。
var elements = document.getElementsByTagName(tagName);
nodeType 属性返回的整数值对应着 12 种节点类型,常用的有三种:

php domdocument用法

php domdocument用法PHP domdocument用法创建DOM对象•使用new DOMDocument()可以创建DOM对象。

加载XML文档•使用load()或loadXML()方法可以加载XML文档,获取DOM对象的根元素。

load()方法•load($filename)方法可以加载指定的XML文档文件。

•例如:$dom->load('')可以加载名为的XML文档。

loadXML()方法•loadXML($xmlstring)方法可以加载XML字符串作为XML文档。

•例如:$xml ="<root><element>value</element></root>";和$dom->loadXML($xml);可以将$xml字符串加载为XML文档。

创建元素和属性•使用DOM对象的createElement()方法可以创建新的元素节点。

•使用DOM对象的createAttribute()方法可以创建新的属性节点。

createElement()方法•createElement($name, [$value])方法可以创建指定名称的元素节点。

•可选参数$value指定元素的文本内容。

•例如:$element = $dom->createElement('tag', 'value');可以创建一个名为tag的元素节点,内容为value。

createAttribute()方法•createAttribute($name)方法可以创建指定名称的属性节点。

•例如:$attribute = $dom->createAttribute('attr');可以创建一个名为attr的属性节点。

添加元素和属性•使用DOM对象的appendChild()方法可以将元素节点添加到其他元素节点的子节点列表中。

JS操作DOM元素属性和方法

JS操作DOM元素属性和方法JavaScript是一种强大的脚本语言,它可以通过操作DOM(Document Object Model)来改变网页的结构和内容。

在JavaScript中,我们可以使用一些属性和方法来操作DOM元素。

1.获取DOM元素在JavaScript中,我们可以使用getElementById、getElementsByClassName、getElementsByTagName等方法来获取DOM元素。

这些方法返回一个NodeList对象,通过索引来访问其中的元素。

2.修改DOM元素的属性通过JavaScript,我们可以修改DOM元素的属性。

比如,使用setAttribute方法可以设置元素的属性值,使用getAttribute方法可以获取元素的属性值。

3.修改DOM元素的样式JavaScript也可以修改DOM元素的样式。

通过style属性,我们可以修改元素的样式属性,比如颜色、字体大小、背景颜色等。

4.添加和删除DOM元素使用JavaScript,我们可以动态地添加和删除DOM元素。

createElement方法用于创建新的元素节点,而appendChild方法则可以将新的元素节点插入到指定的父元素中。

另外,removeChild方法可以删除指定的子元素。

5.修改DOM元素的内容JavaScript可以通过innerHTML属性来修改DOM元素的内容。

可以直接将HTML代码或文本赋值给innerHTML属性,从而改变元素的显示内容。

6.绑定事件处理程序通过JavaScript,我们可以为DOM元素绑定事件处理程序。

可以通过addEventListener方法来监听元素的事件,比如点击事件、鼠标移动事件等。

当事件触发时,会执行对应的处理函数。

7.访问和修改DOM元素的子节点通过childNodes属性,我们可以访问DOM元素的子节点。

childNodes返回一个数组,包含元素的所有子节点。

DOM简介属性及操作

DOM的官方定义DOM Document Object Model 文档对象模型。

DOM的官方定义:W3C的DOM,可以使程序或脚本(JS或AS、JScript),动态的访问或操作文档的内容、结构、样式。

DOM只是一个标准,就是操作网页的标准。

而这个标准(模型)在浏览器中,以“对象”的方式实现。

DOM的分类●核心DOM:提供了操作HTML文档(显示)或XML文档(存储数据)的公共的属性和方法。

●HTMLDOM:针对HTML文档,提供的专有的属性和方法。

●XMLDOM:针对XML文档,提供的专有的属性和方法。

●EventDOM:事件DOM,提供了很多的常用事件。

●CSSDOM:提供了操作CSS的一个接口。

HTML节点树DOM中节点的类型:●document文档节点:代表整个网页,document文档节点不对应标记。

是访问文档中各元素的起点。

●element元素节点:元素节点对应于网页中的各标记。

●attribute属性节点:每个元素都有若干个属性。

●text文本节点:文本节点是最底层节点。

核心DOM公共属性和方法●nodeName:节点名称。

●nodeV alue:节点的值。

●firstChild:第一个子节点。

●lastChild:最后一个子节点。

●parentNode:父节点。

●childNodes:子节点列表,是一个数组。

节点访问为什么,document.firstChild找到的不是HTML节点呢?DOM是针对HTML4.01开发的。

我们现在是XHTML1.0。

所以,要想使用核心DOM中的属性和方法,必须去掉DTD类型定义。

为什么,node_body.firstChild找不到table节点?在Firefox下,会把空格或换行,当成一个文本节点。

因此,所有标记之间的空格和换行,都去掉。

查找html节点的方法●document.firstChild●document.documentElement(兼容性较好)查找body节点的方法●stChild●document.body(推荐使用)节点属性1、getAttribute()——获取属性的值●描述:获取节点属性的值。

详解PHP使用DOMDocument类遍历_增加_修改_删除XML节点操作

详解PHP使用DOMDocument类遍历_增加_修改_删除XML节点操作DOMDocument类是PHP中用来处理XML文档的类,通过该类可以实现对XML文档的遍历、增加、修改和删除节点的操作。

一、遍历XML节点使用DOMDocument类可以很方便地遍历XML节点,以下是一个遍历XML节点的示例代码:```php// 创建DOMDocument对象$dom = new DOMDocument(;//加载XML文档$dom->load('example.xml');//获取根节点$root = $dom->documentElement;//遍历根节点的所有子节点foreach ($root->childNodes as $node)//判断节点类型为元素节点if ($node->nodeType == XML_ELEMENT_NODE)//输出节点的名称和值echo $node->nodeName . ': ' . $node->nodeValue . PHP_EOL;}```二、增加XML节点使用DOMDocument类可以很方便地增加XML节点,以下是一个增加XML节点的示例代码:```php// 创建DOMDocument对象$dom = new DOMDocument(;//加载XML文档$dom->load('example.xml');//创建节点$newNode = $dom->createElement('book');$attr = $dom->createAttribute('id');$attr->value = '3';$newNode->appendChild($attr);$title = $dom->createElement('title', 'Title 3');$newNode->appendChild($title);$author = $dom->createElement('author', 'Author 3');$newNode->appendChild($author);$root = $dom->documentElement;//添加新节点到根节点$root->appendChild($newNode);//保存XML文档$dom->save('example.xml');```三、修改XML节点使用DOMDocument类可以很方便地修改XML节点,以下是一个修改XML节点的示例代码:```php// 创建DOMDocument对象$dom = new DOMDocument(;//加载XML文档$dom->load('example.xml');//获取根节点$root = $dom->documentElement;// 获取指定id的节点$node = $dom->getElementById('1');$node->getElementsByTagName('title')->item(0)->nodeValue = 'New Title';//保存XML文档$dom->save('example.xml');```四、删除XML节点使用DOMDocument类可以很方便地删除XML节点,以下是一个删除XML节点的示例代码:```php// 创建DOMDocument对象$dom = new DOMDocument(;//加载XML文档$dom->load('example.xml');//获取根节点$root = $dom->documentElement;// 获取指定id的节点$node = $dom->getElementById('1');//删除节点$root->removeChild($node);//保存XML文档$dom->save('example.xml');```以上就是PHP使用DOMDocument类进行XML节点操作的详细说明。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档