1. DOM的概念:
文档对象模型:document object model 他将文档转换成javascript可以操作的对象。
2. DOM的结构:
DOM把HTML解析成2部分(head,body 2个子节点)
3. 哪几部分组成:(通过节点)
(1) 元素节点:
Document.getElementById(“id的值”)
Docuemnt.getElementByName(“元素的名称”) (一般用于表单,浏览器的兼容性的原因)
Document.getElementByTagName(“标签名”)
(2) 属性节点:
获得属性节点:getAttribute(“属性名”)
修改属性节点:setAttribute(‘属性名’,‘新的属性值’)
(3) 文本节点
textNode 获得文本节点
4. javascript DOM的增删改查
增:
appendChild(newchild)方法可向节点的子节点列表的末尾添加新的节点
newchild : 所添加的节点
删:
removeChild :删除节点
改:
innerHTML
查:
Document. getElementByNme
5. 节点:
createTextNode()创建文本节点
nodeValue 节点的值
nodeName 节点的名称
nodeType 节点的类型
举例说明:
a.xml的内容:
<?xml version="1.0" encoding="utf-8"?>
<config><db><host>localhost</host><dbname>xml</dbname><user>root</user><pass>123</pass></db><smarty></smarty></config>
a.php的代码:
<?php
//header("content-Type:taxt/html;charset=utf-8");
//获得根节点
$doc=new DOMDocument('1.0','utf-8');
$doc->load('a.xml');//已经生成节点树,使用php操作
//先获得文档的根节点,根节点只有一个不能用getElementsTagName;
$root=$doc->documentElement;
//获得文档根节点
$childs=$root->childNodes;
//因为当前子节点下的所有子节点,所有遍历,
for($i=0;$i<$childs->length;$i++){
//每循环一次获得当前节点
$config_item=$childs->item($i);
//定义一个空数组,然后遍历当前子节点,将这些节点放入到这个空数组中
$configs[$config_item->nodeName]=array();
$items=$config_item->childNodes;
for($j=0;$j<$items->length;$j++){
$item=$items->item($j);
$configs[$config_item->nodeName][$item->nodeName]=$item->nodeValue;
}
}
var_dump($configs);