DOM解析XML

1.      DOM的概念

文档对象模型:document object model  他将文档转换成javascript可以操作的对象。

2.      DOM的结构

DOMHTML解析成2部分(headbody 2个子节点)

3.     哪几部分组成:(通过节点)

(1)    元素节点

Document.getElementById(id的值”)

Docuemnt.getElementByName(“元素的名称”(一般用于表单,浏览器的兼容性的原因)

Document.getElementByTagName(“标签名”)

(2)    属性节点

获得属性节点:getAttribute(“属性名”)

 

修改属性节点:setAttribute(‘属性名’,‘新的属性值’)

(3)   文本节点

textNode 获得文本节点

4.     javascript DOM的增删改查

  appendChildnewchild)方法可向节点的子节点列表的末尾添加新的节点

 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);

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值