DOMDocument属性与方法
Document属性和方法
JS的Document属性和方法docum ent.title //设置文档标题等价于HTML的title标签docum ent.bgColor //设置页面背景色docum ent.fgColor //设置前景色(文本颜色)docum ent.linkColor //未点击过的链接颜色docum ent.alinkColor //激活链接(焦点在此链接上)的颜色docum ent.vlinkColor //已点击过的链接颜色docum ent.URL //设置URL属性从而在同一窗口打开另一网页docum ent.fileCreatedDate //文件建立日期,只读属性docum ent.fileModifiedDate //文件修改日期,只读属性docum ent.charset //设置字符集简体中文:gb2312docum ent.fileSize //文件大小,只读属性docum ent.cookie //设置和读出cookie ———————————————————————常用对象方法docum ent.write() //动态向页面写入内容docum ent.createElem ent(Tag) //创建一个ht ml标签对象docum ent.getElement ById(ID) //获得指定ID值的对象docum ent.getElementsByName(Name) //获得指定Name值的对象docum ent.body.appendChild(oTag) ———————————————————————body-主体子对象docum ent.body //指定文档主体的开始和结束等价于body>/body> docum ent.body.bgColor //设置或获取对象后面的背景颜色docum ent.body.link //未点击过的链接颜色docum ent.body.alink //激活链接(焦点在此链接上)的颜色docum ent.body.vlink //已点击过的链接颜色document.body.text //文本色docum ent.body.innerText //设置body>…/body>之间的文本docum ent.body.innerHTML //设置body>…/body>之间的HTML代码docum ent.body.topMargin //页面上边距docum ent.body.leftMargin //页面左边距docum ent.body.rightMargin //页面右边距docum ent.body.bottom Margin //页面下边距docum ent.body.background //背景图片docum ent.body.appendChild(oTag) //动态生成一个HTML对象常用对象事件docum ent.body.onclick=”func()” //鼠标指针单击对象是触发docum ent.body.onmouseover=”func()” //鼠标指针移到对象时触发docum ent.body.onmouseout=”func()” //鼠标指针移出对象时触发———————————————————————location-位置子对象docum ent.location.hash // #号后的部分docum ent.location.host // 域名+端口号//好像返回的是主机名localhost,没有返回端口号docum ent.location.hostnam e // 域名docum ent.location.href // 完整URLdocum ent.location.pathname // 目录部分docum ent.location.port // 端口号docum ent.location.protocol // 网络协议(http:)docum ent.location.search // ?号后的部分docum eny.location.reload() //刷新网页docum ent.location.reload(URL) //打开新的网页docum ent.location.assign(URL) //打开新的网页docum ent.location.replace(URL) //打开新的网页———————————————————————selection-选区子对象docum ent.selection例如:<div>请选中这里的部分文字。
操作xml-domdocument-php
php生成xml简单实例代码使用PHP DOMDocument创建动态XML文件当处理基于XML应用程序时,开发者经常需要建立XML编码数据结构。
例如,Web中基于用户输入的XML状态模板,服务器请求XML语句,以及基于运行时间参数的客户响应。
尽管XML数据结构的构建比较费时,但如果使用成熟的PHP DOM应用程序接口,一切都会变得简单明了。
本文将向你介绍PHP DOM应用程序接口的主要功能,演示如何生成一个正确的XML完整文件并将其保存到磁盘中。
∙创建文档类型声明一般而言,XML声明放在文档顶部。
在PHP中声明十分简单:只需实例化一个DOM文档类的对象并赋予它一个版本号。
查看程序清单A:代码如下:view sourceprint?<?php// create doctype$dom= new DOMDocument("1.0");// display document in browser as plain text// display document in browser as plain text// for readability purposesheader("Content-Type: text/plain");// save and display treeecho$dom->saveXML();?>请注意DOM文档对象的saveXML()方法。
稍后我再详细介绍这一方法,现在你只需要简单认识到它用于输出XML文档的当前快照到一个文件或浏览器。
在本例,为增强可读性,我已经将ASCII码文本直接输出至浏览器。
在实际应用中,可将以text/XML头文件发送到浏览器。
如在浏览器中查看输出,你可看到如下代码:view sourceprint?<?xml version="1.0"?>∙添加元素和文本节点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(Document Object Model)是一种用于表示和操作HTML、XML和SVG文档的标准编程接口。
它将文档表示为一个树形结构,其中每个节点都是一个对象,可以通过编程方式访问和操作。
DOM的主要作用是提供一种标准的方式来访问和操作文档的内容和结构。
它允许开发人员使用JavaScript等编程语言来动态地修改文档的内容和样式,从而实现交互式Web应用程序。
DOM的树形结构由多个节点组成,每个节点都有一个类型和一组属性。
节点类型包括元素节点、文本节点、注释节点等。
元素节点表示HTML或XML文档中的标签,文本节点表示标签中的文本内容,注释节点表示HTML或XML文档中的注释。
DOM提供了一组API来访问和操作文档的节点。
这些API包括getElementById、getElementsByTagName、getElementsByClassName等方法,它们可以用于查找文档中的特定节点。
此外,DOM还提供了一组方法来修改文档的内容和样式,例如createElement、appendChild、setAttribute等方法。
DOM的优点在于它提供了一种标准的方式来访问和操作文档的内容和结构。
这使得开发人员可以使用JavaScript等编程语言来动态地修改文档的内容和样式,从而实现交互式Web应用程序。
此外,DOM还具有跨平台和跨浏览器的优势,因为它是一个标准的编程接口,可以在不同的浏览器和操作系统上使用。
DOM是Web开发中非常重要的一个概念,它提供了一种标准的方式来访问和操作文档的内容和结构。
开发人员可以使用JavaScript 等编程语言来动态地修改文档的内容和样式,从而实现交互式Web 应用程序。
DOM的跨平台和跨浏览器的优势使得它成为Web开发中不可或缺的一部分。
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的区别是什么(两点区别)?解答:⼀个是获取⽂本,⼀个是获取标签。
DOM节点的属性和方法
DOM节点的属性和⽅法DOMDOM 是 JavaScript 操作⽹页的接⼝,全称为“⽂档对象模型”(Document Object Model)。
它的作⽤是将⽹页转为⼀个 JavaScript 对象,从⽽可以⽤脚本进⾏各种操作(⽐如增删内容)。
它只是⼀个接⼝规范,可以⽤各种语⾔实现。
所以严格地说,DOM 不是 JavaScript 语法的⼀部分,但是 DOM 操作是 JavaScript 最常见的任务,离开了 DOM,JavaScript 就⽆法控制⽹页。
另⼀⽅⾯,JavaScript 也是最常⽤于 DOM 操作的语⾔。
节点DOM 的最⼩组成单位叫做节点(node)。
⽂档的树形结构(DOM 树),就是由各种不同类型的节点组成。
每个节点可以看作是⽂档树的⼀⽚叶⼦。
节点的类型有七种。
Document:整个⽂档树的顶层节点DocumentType:doctype标签(⽐如<!DOCTYPE html>)Element:⽹页的各种HTML标签(⽐如<body>、<a>等)Attribute:⽹页元素的属性(⽐如class="right")Text:标签之间或标签包含的⽂本Comment:注释DocumentFragment:⽂档的⽚段浏览器提供⼀个原⽣的节点对象Node,上⾯这七种节点都继承了Node,因此具有⼀些共同的属性和⽅法。
节点树所有的节点就好像组成了⼀棵树,⽽document节点就代表整个树也就是整个⽂档。
⽂档的第⼀层有两个节点,第⼀个是⽂档类型节点(<!doctype html>),第⼆个是 HTML ⽹页的顶层容器标签<html>。
后者构成了树结构的根节点(root node),其他 HTML 标签节点都是它的下级节点。
除了根节点,其他节点都有三种层级关系。
⽗节点关系(parentNode):直接的那个上级节点⼦节点关系(childNodes):直接的下级节点同级节点关系(sibling):拥有同⼀个⽗节点的节点DOM 提供操作接⼝,⽤来获取这三种关系的节点。
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()——获取属性的值●描述:获取节点属性的值。
dom基本概念
dom基本概念DOM基本概念DOM(Document Object Model)是一种用于处理HTML和XML文档的编程接口。
它将文档表示为一个树形结构,其中每个节点都是一个对象,每个对象都有其自身的属性和方法。
DOM的基本概念包括节点、元素、属性、文本、注释、文档对象等。
节点节点是DOM中最基本的单位,它可以是元素、属性、文本、注释等。
每个节点都有其自身的类型、名称、值等属性。
节点之间可以存在父子关系、兄弟关系等。
在DOM中,节点可以通过节点类型来进行分类,例如元素节点、属性节点、文本节点等。
元素元素是DOM中的一种节点类型,它表示HTML或XML文档中的标签。
每个元素都有其自身的标签名、属性、子元素等。
在DOM中,元素节点可以通过标签名来进行访问,例如document.getElementsByTagName()方法可以获取文档中指定标签名的所有元素。
属性属性是DOM中的一种节点类型,它表示HTML或XML文档中的属性。
每个属性都有其自身的名称和值。
在DOM中,属性节点可以通过元素节点来进行访问,例如element.getAttribute()方法可以获取元素节点的指定属性值。
文本文本是DOM中的一种节点类型,它表示HTML或XML文档中的文本内容。
每个文本节点都有其自身的文本值。
在DOM中,文本节点可以通过元素节点来进行访问,例如element.firstChild.nodeValue 可以获取元素节点的文本内容。
注释注释是DOM中的一种节点类型,它表示HTML或XML文档中的注释内容。
每个注释节点都有其自身的注释值。
在DOM中,注释节点可以通过元素节点来进行访问,例如element.childNodes可以获取元素节点的所有子节点,其中包括注释节点。
文档对象文档对象是DOM中的一种节点类型,它表示整个HTML或XML文档。
文档对象是DOM树的根节点,它包含了整个文档的所有元素、属性、文本、注释等节点。
详解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节点操作的详细说明。
dom常见的操作方法
dom常见的操作方法DOM是指文档对象模型(Document Object Model),它可以将文档(HTML、XML)表示为一个具有层次结构的树形结构。
在JavaScript 中,通过操作DOM,我们可以实现对网页元素的增删改查等操作。
下面是DOM的常见操作方法:一、查询元素1.通过元素的id查询:document.getElementById('id')2.通过元素的类名查询:document.getElementsByClassName('class')3.通过元素的标签名查询:document.getElementsByTagName('tag')4.通过选择器查询:document.querySelector('selector')或document.querySelectorAll('selector'),其中querySelector返回匹配的第一个元素,querySelectorAll返回匹配的所有元素。
二、创建元素1.创建元素:document.createElement('tag')2.创建文本节点:document.createTextNode('text')3.将文本节点添加到元素中:element.appendChild(textNode)三、操作元素属性1.获取元素属性值:element.getAttribute('attribute')2.设置元素属性值:element.setAttribute('attribute', 'value')四、操作元素样式1.获取元素样式值:element.style.property2.设置元素样式值:element.style.property = 'value'五、操作元素内容1.获取元素内容:element.innerHTML2.设置元素内容:element.innerHTML = 'content'3.获取元素文本内容:element.innerText六、操作元素位置1.获取元素相对于文档的位置:element.getBoundingClientRect()2.获取元素的父节点:element.parentNode3.插入元素到指定位置:parentElement.insertBefore(newElement, targetElement)七、操作元素事件1.添加事件监听器:element.addEventListener('event',function(){})2.移除事件监听器:element.removeEventListener('event', function(){})总结:DOM操作是JavaScript中的重要部分,在前端开发中经常需要对网页元素进行增删改查等操作。
asp中使用MSXML2.DOMDocument处理XML数据时的注意事项
asp中使⽤MSXML2.DOMDocument处理XML数据时的注意事项asp使⽤MSXML2.DOMDocument加载⽹络上的xml⽂件时,在调⽤load⽅法前需要注意设置:复制代码代码如下:oXML.setProperty "ServerHTTPRequest", true即启⽤ServerHTTPRequest请求,要不会出现系统错误: -2146697209。
asp使⽤MSXML2.DOMDocument组件时需要注意⼀下4中情况复制代码代码如下:<%Dim oXML, oXMLError, ReturnValue, xSet oXML = Server.CreateObject("MSXML2.DOMDocument")' 设置DOMDocument加载xml⽂件时是异步加载,还是同步加载oXML.async = false'==========A' 设置⽬的: True/False,表⽰是否使⽤“服务器安全”的ServerXMLHTTP组件加载xml⽂档oXML.setProperty "ServerHTTPRequest", true'==========B' 通过HTTP加载⽹络xml⽂件件ReturnValue = oXML.Load("http://localhost/asp/ServerXML.xml")'==========C'或者加载服务器本地xml⽂件'ReturnValue = oXML.Load("d:\test.xml")'==========D' 打出DOMDocument.load的返回值:Response.write "Result of load method is =" & ReturnValue & "<br>"%>第⼀种情况(加载空⽂档): 默认情况下,DOMDocument对象的async属性是TRUE,即异步⽅式加载。
php domdocument用法
PHP DomDocument用法什么是DomDocument?DomDocument是PHP中的一个类,用于处理XML文档。
它提供了一组方法和属性,使我们能够创建、修改和操作XML文档。
安装与环境要求在使用DomDocument之前,我们需要确保PHP中已经安装了相关的扩展库。
在大多数情况下,PHP默认已经安装了这个扩展库,所以我们可以直接开始使用它。
创建一个新的XML文档首先,让我们来看看如何创建一个新的XML文档。
<?php$dom = new DomDocument('1.0', 'utf-8'); // 创建一个新的DomDocument对象$dom->formatOutput = true; // 设置格式化输出为true,使得生成的XML文档具有良好的缩进和换行$root = $dom->createElement('root'); // 创建根元素$dom->appendChild($root); // 将根元素添加到文档中在上面的代码中,我们首先创建了一个新的DomDocument对象,并指定了版本号和编码方式。
然后我们通过设置formatOutput属性为true来启用格式化输出。
接下来,我们创建了一个根元素,并将其添加到文档中。
添加元素和属性现在我们已经创建了一个空白的XML文档,接下来让我们看看如何向其中添加元素和属性。
<?php$element = $dom->createElement('element'); // 创建一个新的元素$root->appendChild($element); // 将元素添加到根元素中$attribute = $dom->createAttribute('attribute'); // 创建一个新的属性$attribute->value = 'value'; // 设置属性的值$element->appendChild($attribute); // 将属性添加到元素中在上面的代码中,我们首先创建了一个新的元素element,然后将其添加到根元素中。
DOM常用方法总结
DOM常⽤⽅法总结 DOM(Document Object Model:⽂档对象模型)为javascript中的⼀部分,它为访问和修改html⽂档或xml⽂档提供了⼀些编程接⼝,DOM 以对象的形式来描述⽂档中的内容,以树形结构来管理这些对象,并提供了⼀些⽅法来得到这些对象并对其进⾏修改。
获取元素对象⽅法: 1.document.getElementById() :返回对拥有指定 id 的第⼀个对象的引⽤。
2.document.getElementsByName():返回带有指定名称的对象集合。
3.document.getElementsByTagName():返回带有指定标签名的对象集合。
上述三个⽅法是经常⽤到的获取Element 元素对象的⽅法,DOM由节点组成,⽽所有节点都需要获取元素对象后⽤DOM提供的特定⽅法获取,因此这些⽅法是使⽤DOM进⾏编程的⼊⼝,在DOM中每个东西都是节点:⽂档本⾝就是⼀个⽂档对象所有 HTML 元素都是元素节点所有 HTML 属性都是属性节点插⼊到 HTML 元素⽂本是⽂本节点注释是注释节点 获得节点⽅法: 1.element.getAttributeNode():获得该节点的属性节点。
2.element.firstChild:获得该节点第⼀个⼦节点。
stChild:获得该节点的最后⼀个⼦节点。
3.element.parentNode():获得该节点的⽗节点。
4.element.childNodes():返回该节点的⼦节点数组(由于空格也会被当做⽂本节点被返回。
所以该⽅法常⽤element.getElementsByTagName()代替)。
5.element.nextSibling:返回该节点的下⼀个兄弟节点。
6.element.previousSibling:返回该节点的上⼀个兄弟节点。
节点常⽤属性: 1.element.nodeName:其内容是给定节点的名字。
document的set 方法
document的set 方法Document对象是DOM中的一种节点类型,表示HTML文档。
通过Document对象的set方法,可以进行对文档的设置和修改操作。
set方法可以用于设置文档元素的属性、样式、内容等。
下面详细介绍Document的set方法的一些常见用法:1.设置文档标题可以通过set方法来设置文档的标题,就像这样:```javascript```上述代码将会把文档的标题更改为"新的标题"。
2.修改元素的属性通过set方法,可以修改文档中某个元素的属性。
例如,将id为"myDiv"的元素的class属性设置为"myClass":```javascript```上述代码会将id为"myDiv"的元素的class属性更改为"myClass"。
3.修改元素的样式可以使用set方法来修改元素的样式。
例如,将id为"myDiv"的元素的背景颜色设置为红色:```javascript```上述代码会将id为"myDiv"的元素的背景颜色修改为红色。
4.更新元素的内容set方法也可以用来更新文档元素的内容。
例如,将id为"myDiv"的元素的文本内容更新为"新的内容":```javascript```上述代码会把id为"myDiv"的元素的文本内容更改为"新的内容"。
5.添加新元素通过set方法,还可以在文档中添加新的元素。
例如,添加一个新的段落元素到id为"myDiv"的元素内:```javascript```上述代码会在id为"myDiv"的元素内添加一个新的段落元素,其内容为"新的段落"。
总结:Document的set方法可以用于修改文档元素的属性、样式、内容等。
DOM常见属性及用法
DOM常见属性及⽤法1:innerHTML、outerHTML、innerText、outerTextinnerHTML: 设置或获取位于对象起始和结束标签内的HTML。
outerHTML: 设置或获取对象及其内容的HTML。
innerText: 设置或获取位于对象起始和结束标签内的⽂本。
outerText: 设置(包括标签)或获取(不包括标签)对象的⽂本。
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>DOM</title></head><body><ul id="test"><li><i>点击1</i></li><li>点击2</li><li>点击3</li><li>点击4</li></ul><script type="text/javascript">var test = document.getElementById('test');var lis = test.getElementsByTagName('li');var handlers = function (nodes) {var i;for (i = 0; i < nodes.length; i += 1) {nodes[i].onclick = function(){console.log(this.innerHTML);console.log(this.outerHTML);console.log(this.innerText);console.log(this.outerText);}}};handlers(lis);#results//<i>点击1</i>//<li><i>点击1</i></li>//点击1//点击1</script></body></html>特别说明: innerHTML是符合W3C标准的属性,⽽innerText只适⽤于IE浏览器,因此,尽可能地去使⽤innerHTML,⽽少⽤innerText,如果要输出不含HTML标签的内容,可以使⽤innerHTML取得包含HTML标签的内容后,再⽤正则表达式去除HTML标签。
DOM的基本操作
DOM的基本操作DOM(Document Object Model,文档对象模型)是一种表示和操作HTML和XML文档的程序接口。
通过DOM,我们可以使用JavaScript或其他编程语言来访问和操作HTML文档的各个元素,实现改变页面结构、样式和内容等功能。
下面是对DOM的基本操作的详细介绍。
1.获取元素DOM提供了多种方法来获取HTML文档中的元素,常用的方法有:- `getElementById(`:通过元素的id属性获取元素,返回一个匹配的元素对象。
- `getElementsByClassName(`:通过元素的class属性获取元素,返回一个包含所有匹配元素的元素集合。
- `querySelector(`:通过选择器获取单个元素,返回第一个匹配的元素对象。
- `querySelectorAll(`:通过选择器获取所有匹配的元素,返回一个包含所有匹配元素的静态节点列表。
2.修改元素的内容和属性DOM提供了多种方法来修改元素的内容和属性,常用的方法有:- `innerHTML`:设置或获取元素的HTML内容。
- `setAttribute(`:设置元素的属性值。
- `getAttribute(`:获取元素的属性值。
- `classList.add(`:给元素添加一个或多个类名。
- `classList.remove(`:从元素中移除一个或多个类名。
3.创建和插入元素DOM提供了多种方法来创建和插入新的元素节点,常用的方法有:- `createElement(`:创建一个新的元素节点。
- `createTextNode(`:创建一个包含指定文本的文本节点。
- `appendChild(`:在指定元素的最后一个子节点后插入一个新的子节点。
- `insertBefore(`:在指定元素的一些子节点前插入一个新的子节点。
- `replaceChild(`:用一个新的子节点替换指定元素的一些子节点。
DOM对象介绍
一、DOM简述DOM—Document Object Model,它是W3C国际组织的一套Web标准。
它定义了访问HTML文档对象的一套习属性、方法和事件。
DOM是以层次结构组织的节点或信息片断的集合。
文档对象模型(Document Object Model)是给HTML与XML文件使用的一组API。
DOM的本质是建立网页与脚本语言或程序语言沟通的桥梁。
浏览器对象是一个分层结构,也称为文档对象模型,如下图所示:从上图可以看出:(1)打开网页后,首先看到的是浏览器窗口,即顶层的window对象。
(2)其次,看到的是网页文档的内容,即document文档。
(3)定位对象:window.document.myform.text1或document.myform.text1因为window窗口对象是所有页面的根对象,所以常常省略。
(4)地址对象location和历史对象history,它他对应IE浏览器中的地址栏和前进/后退按钮。
二、窗口window常用属性:1 window.clesed:指明窗口是否关闭。
2 window.defaultValue:窗口状态栏的默认信息。
3 window.docement:表示浏览器窗口中的HTML文档。
4 window.location:表示有关当前URL的信息。
5 window.history:表示有关当前访问过的RUL的信息。
6 :设置或检索窗口或框架的名称。
7 window.screen:包含有关客户的屏幕和显示性能的信息。
8 window.screenX:窗口X坐标9 window.screenY:窗口Y坐标10 window.status:设置或检索窗口状态栏中的信息。
11 window.title:设置或检索窗口顶部标题栏中的信息。
12 window.self:当前窗口。
13 window.parent:当前窗口的最上层窗口。
14 window.top:当前显示的窗口的最上层窗口。
domdocument60用法
DOMDocument60用法一、概述D O MD oc um en t60是用于处理XM L文档的C OM对象,其中包含了许多有用的方法和属性,可以方便地操作和处理X ML数据。
本文将介绍D O MD oc um en t60对象的用法和相关技巧。
二、创建D OMDocument60对象使用DO MD oc um en t60对象前,首先需要创建DO MD oc um en t60对象,并加载或创建XM L文档。
可以通过以下方法创建DO MD oc ume n t60对象:```v baS e tx ml Do c=Cr ea teO b je ct("Mi cr os oft.XM LD OM")x m lD oc.a sy nc=F als e```三、加载X ML文档加载XM L文档是DO MD o cu me nt60的一个重要功能,可以使用L oa d方法加载本地的XM L文件,也可以使用Lo a dX ML方法加载字符串形式的X M L数据。
1.加载本地X M L文件```v bax m lD oc.L oa d"C:\pa t h\t o\f il e.xm l"```2.加载字符串形式的X M L数据```v bax m lD oc.L oa dX ML"<r o ot><no de>e xa mpl e</no de></r oo t>"```四、操作X ML文档D O MD oc um en t60对象提供了许多方法和属性,可以方便地操作X ML文档。
1.获取根节点```v baS e tr oo t=xm lD oc.do c um en tE le me nt```2.创建元素节点```v baS e te le me nt=x ml Doc.cr ea te El em en t("t ag")```3.创建文本节点```v baS e tt ex tN od e=xm lDo c.c re at eT ex tN ode("H el lo,W or ld!")```4.插入节点```v bar o ot.a pp en dC hi lde l em en tr o ot.i ns er tB ef ore e le me nt,r ef er enc e No de```5.删除节点```v bar o ot.r em ov eC hi lde l em en t```6.修改节点内容```v bae l em en t.te xt Co nte n t="N ew co nt en t"```7.查询节点```v baS e tn od e=xm lD oc.se l ec tS in gl eN od e("//p at h/to/n od e")S e tn od eL is t=xm lDo c.s el ec tN od es("//pa th/t o/no de s")```五、保存X ML文档在完成对XM L文档的操作后,可以使用S av e方法将DO MD o cu me nt60对象保存为X ML文件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
最近发现DOMDocument对象很重要,还有XMLHTTP也很重要注意大小写一定不能弄错.属性:1Attributes 存储节点的属性列表(只读)2childNodes 存储节点的子节点列表(只读)3dataType 返回此节点的数据类型4Definition 以DTD或XML模式给出的节点的定义(只读)5Doctype 指定文档类型节点(只读)6documentElement 返回文档的根元素(可读写)7firstChild 返回当前节点的第一个子节点(只读)8Implementation 返回XMLDOMImplementation对象9lastChild 返回当前节点最后一个子节点(只读)10nextSibling 返回当前节点的下一个兄弟节点(只读)11nodeName 返回节点的名字(只读)12nodeType 返回节点的类型(只读)13nodeTypedV alue 存储节点值(可读写)14nodeV alue 返回节点的文本(可读写)15ownerDocument 返回包含此节点的根文档(只读)16parentNode 返回父节点(只读)17Parsed 返回此节点及其子节点是否已经被解析(只读)18Prefix 返回名称空间前缀(只读)19preserveWhiteSpace 指定是否保留空白(可读写)20previousSibling 返回此节点的前一个兄弟节点(只读)21Text 返回此节点及其后代的文本内容(可读写)22url 返回最近载入的XML文档的URL(只读)23Xml 返回节点及其后代的XML表示(只读)方法:1appendChild 为当前节点添加一个新的子节点,放在最后的子节点后2cloneNode 返回当前节点的拷贝3createAttribute 创建新的属性4create视频教程'>cdA TASection 创建包括给定数据的CDA TA段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(文档对象模型)概念的推出,这个API使HTML如虎添翼,但是有些学DHTML的朋友还是有些困挠,只是因为目前的手册的书写不太科学,是按字母来分的,不便查阅.其实DOM中最关键是要掌握节点与节点之间的关系(between node andnode),想学习DHTML中的DOM千万不要从头到尾地看遍所有的属性和方法,你有三国时张松的"过目不忘"的本领吗?没有吧,那就听我分析一下:其实DOM教给我们的就是一个层次结构,你可以理解为一个树形结构,就像我们的目录一样,一个根目录,根目录下有子目录,子目录下还有子目录……根节点:DOM把层次中的每一个对象都称之为节点(NODE),以HTML超文本标记语言为例:整个文档的一个根就是<html>,在DOM中可以使用document.documentElement来访问它,它就是整个节点树的根节点(ROOT)子节点:一般意义上的节点,根节点以下最大子节点就是主文档区<body>了,要访问到body标签,在脚本中应该写:document.bodybody区以内所有的文本及HTML标签都是文档的节点,分别称为文本节点、元素节点(或者叫标签节点),大家知道HTML说到底只是文本而矣,不论怎么样的网页必然由这两个节点组成,也只能由这两个节点组成节点之间的关系:节点之间的关系也是DOM中最重要的一个关节,如何正确地引用到节点对象,一定要清楚节点树各个节点的相互描述方式,在DHTML里,javascript脚本就用了各个节点对象的一整套方法和属性去描述另外的节点对象。
节点的绝对引用:返回文档的根节点document.documentElement返回当前文档中被击活的标签节点document.activeElement返回鼠标移出的源节点event.fromElement返回鼠标移入的源节点event.toElement返回激活事件的源节点event.srcElement节点的相对引用:(设当前对节点为node)返回父节点node.parentNodenode.parentElement返回子节点集合(包含文本节点及标签节点)node.childNodes返回子标签节点集合node.children返回子文本节点集合node.textNodes返回第一个子节点node.firstChild返回最后一个子节点stChild返回同属下一个节点node.nextSibling返回同属上一个节点node.previousSibling节点的各种操作:(设当前的节点为node)新增标签节点句柄:document.createElement(sNode) //参数为要新添的节点标签名,例:newnode=document.createElement("css.shtml' target='_blank' title = 'div视频教程'>div");1、添加节点:追加子节点:node.appendChild(oNode) //oNode为生新增的节点句柄,例:node.appendChild(newnode)应用标签节点node.applyElment(oNode,sWhere)//oNode为生新增的节点句柄,sWhere有两个值:outside / inside,加在当前节点外面还是里面插入节点inode.insertBefore()node.insertAdjacentElement()node.replaceAdjacentText()2、修改节点:删除节点node.remove()node.removeChild()node.removeNode()替换节点node.replaceChild()node.replaceNode()node.swapNode()2、复制节点:返回复制复制节点引用node.cloneNode(bAll)//bAll为布尔值,true / false 是否克隆该节点所有子节点3、节点信息是否包含某节点node.contains()是否有子节点node.hasChildNodes()*******************************************************下面为javascript操作xml<script language="JavaScript"><!--var doc = new ActiveXObject("Msxml2.DOMDocument"); //ie5.5+,CreateObject("Microsoft.XMLDOM")//加载文档//doc.load("b.xml");//创建文件头var p = doc.createProcessingInstruction("xml","version='1.0' encoding='gb2312'");//添加文件头doc.appendChild(p);//用于直接加载时获得根接点//var root = doc.documentElement;//两种方式创建根接点// var root = doc.createElement("students");var root = doc.createNode(1,"students","");//创建子接点var n = doc.createNode(1,"ttyp","");//指定子接点文本//n.text = " this is a test";//创建孙接点var o = doc.createElement("sex");o.text = "男"; //指定其文本//创建属性var r = doc.createAttribute("id");r.value="test";//添加属性n.setAttributeNode(r);//创建第二个属性var r1 = doc.createAttribute("class");r1.value="tt";//添加属性n.setAttributeNode(r1);//删除第二个属性n.removeAttribute("c lass");//添加孙接点n.appendChild(o);//添加文本接点n.appendChild(doc.createTextNode("this is a text node."));//添加注释n.appendChild(doc.createComment("this is a comment\n"));//添加子接点root.appendChild(n);//复制接点var m = n.cloneNode(true);root.appendChild(m);//删除接点root.removeChild(root.childNodes(0));//创建数据段var c = doc.createCDA TASection("this is a cdata");c.text = "hi,cdata";//添加数据段root.appendChild(c);//添加根接点doc.appendChild(root);//查找接点var a = doc.getElementsByTagName("ttyp");//var a = doc.selectNodes("//ttyp");//显示改接点的属性for(var i= 0;i<a.length;i++){alert(a[i].xml);for(var j=0;j<a[i].attributes.length;j++){alert(a[i].attributes[j].name);}}//修改节点,利用XPA TH定位节点var b = doc.selectSingleNode("//ttyp/sex");b.text = "女";//alert(doc.xml);//XML保存(需要在服务端,客户端用FSO)//doc.save();//查看根接点XMLif(n){alert(n.ownerDocument.xml);}//--></script>。