js中使用DOM复制(克隆)指定节点名数据到新的XML文件中的代码


Posted in Javascript onJuly 27, 2011
<?php 
/* 
<?xml version="1.0" encoding="utf-8"?> 
<article> 
<item> 
<title name="t1"></title> 
<content>content1</content> 
<pubdate>2009-10-11</pubdate> 
</item> 
<item> 
<title name="t2">title2</title> 
<content>content2</content> 
<pubdate>2009-11-11</pubdate> 
</item> 
</article> 
*/ 
/* 
使用DOM复制(克隆)指定节点名数据到新的XML文件中 ,用到三个类的相关知识点 : DOMDocument - DOMNodeList - DOMNode 
1.DOMNodeList DOMDocument::getElementsByTagName ( string $name ) 
2.DOMNode DOMNodelist::item ( int $index ) 
3.DOMNode DOMNode::cloneNode ([ bool $deep ] ) 
*/ 
if(!function_exists('l')) { 
function l() { 
echo '<br />********************************<br />'; 
} 
} 
if(!function_exists('cp_xml')) { 
/* 
* 复制指定节点元素信息到新XML文件中 
* @param $dom : 源XML文件的DOM对象 
* @param $newdom : 新XML文件的DOM对象 
* @param $node: 指定复制的节点元素名 
* @param $file: 新生成的XML文件名 
* @param $attribute: 指定复制的节点元素的属性名 
* @return void 
*/ 
function cp_xml($dom,$newdom,$node,$file,$attribute = '') { 
$contents = $dom->getElementsByTagName($node); 
$clone = array(); 
$attr = array(); 
for($i = 0 ; $i<$contents->length; $i++) { 
$node = $contents->item($i); 
if($node->hasAttributes() && !empty($attribute)) { 
$attr[] = $node->getAttribute($attribute); 
} 
$clone[] = $node->cloneNode(true); 
} 
var_dump($attr); 
$root = $newdom->createElement('root'); 
$newdom->appendChild($root); 
for($i = 0 ; $i<count($clone); $i++) { 
$title = $newdom->createElement($clone[$i]->nodeName,$clone[$i]->nodeValue); 
$root->appendChild($title); 
if(count($attr)>0 && !empty($attribute)) { 
//创建属性名 
$aname = $newdom->createAttribute($attribute); 
$title->appendChild($aname); 
//传递属性值 
$aval = $newdom->createTextNode($attr[$i]); 
$aname->appendChild($aval); 
} 
} 
$newdom->save($file); 
} 
} 
if(file_exists("test10_12.xml")) { 
//实例一 
$dom = new DOMDocument(); 
$newdom = new DOMDocument('1.0','utf-8'); 
$dom->load("test10_12.xml"); 
$node = 'content'; 
$file = '11_1.xml'; 
cp_xml($dom,$newdom,$node,$file); 
//实例二 
$dom = new DOMDocument(); 
$newdom = new DOMDocument('1.0','utf-8'); 
$dom->load("test10_12.xml"); 
$node = 'title'; 
$file = '11_2.xml'; 
cp_xml($dom,$newdom,$node,$file,$attribute = 'name'); 
} 
?>
Javascript 相关文章推荐
在线游戏大家来找茬II
Sep 30 Javascript
javascript 触发HTML元素绑定的函数
Sep 11 Javascript
动态加载js的方法汇总
Feb 13 Javascript
js图片轮播特效代码分享
Sep 07 Javascript
WordPress中利用AJAX异步获取评论用户头像的方法
Jan 08 Javascript
微信小程序 参数传递详解
Oct 24 Javascript
Bootstrap导航条鼠标悬停下拉菜单
Jan 04 Javascript
javascript实现循环广告条效果
Dec 12 Javascript
three.js实现圆柱体
Dec 30 Javascript
微信小程序云开发 生成带参小程序码流程
May 18 Javascript
怎么使用javascript深度拷贝一个数组
Jun 06 Javascript
vue3 源码解读之 time slicing的使用方法
Oct 31 Javascript
另一个javascript小测验(代码集合)
Jul 27 #Javascript
jsTree 基于JQuery的排序节点 Bug
Jul 26 #Javascript
Jquery中显示隐藏的实现代码分析
Jul 26 #Javascript
jquery attr 设定src中含有&amp;(宏)符号问题的解决方法
Jul 26 #Javascript
基于jquery实现的移入页面上空文本框时,让它变为焦点,移出清除焦点
Jul 26 #Javascript
in.js 一个轻量级的JavaScript颗粒化模块加载和依赖关系管理解决方案
Jul 26 #Javascript
jquery中的 $(&quot;#jb51&quot;)与document.getElementById(&quot;jb51&quot;) 的区别
Jul 26 #Javascript
You might like
通过ICQ网关发送手机短信的PHP源程序
2006/10/09 PHP
色色整理的PHP面试题集锦
2012/03/08 PHP
PHP图片处理之使用imagecopyresampled函数实现图片缩放例子
2014/11/19 PHP
thinkPHP实现瀑布流的方法
2014/11/29 PHP
php+mysqli使用面向对象方式查询数据库实例
2015/01/29 PHP
php中get_cfg_var()和ini_get()的用法及区别
2015/03/04 PHP
php从数据库查询结果生成树形列表的方法
2015/04/17 PHP
php上传功能集后缀名判断和随机命名(强力推荐)
2015/09/10 PHP
PHP实现的DES加密解密封装类完整实例
2017/04/29 PHP
js限制textarea每行输入字符串长度的代码
2012/10/31 Javascript
jquery操作下拉列表、文本框、复选框、单选框集合(收藏)
2014/01/08 Javascript
jquery实现pager控件示例
2014/04/09 Javascript
js实现图片在未加载完成前显示加载中字样
2014/09/03 Javascript
利用transition实现文字上下抖动的效果
2017/01/21 Javascript
利用JS如何获取form表单数据
2019/12/19 Javascript
深入了解JS之作用域和闭包
2020/06/16 Javascript
vue实现下拉菜单树
2020/10/22 Javascript
[01:34]DAC2018主赛事第四日五佳镜头 Gh巨牙海民助Miracle-死里逃生
2018/04/07 DOTA
恢复百度云盘本地误删的文件脚本(简单方法)
2017/10/21 Python
Python面向对象程序设计之类的定义与继承简单示例
2019/03/18 Python
Python实现的爬取百度贴吧图片功能完整示例
2019/05/10 Python
python按比例随机切分数据的实现
2019/07/11 Python
python 实现将list转成字符串,中间用空格隔开
2019/12/25 Python
Python基于requests库爬取网站信息
2020/03/02 Python
python批量提取图片信息并保存的实现
2021/02/05 Python
python中openpyxl和xlsxwriter对Excel的操作方法
2021/03/01 Python
纯CSS打造(无图像无js)的非常流行的讲话(语音)气泡效果
2012/12/28 HTML / CSS
基于html5 DeviceOrientation 实现微信摇一摇功能
2015/09/25 HTML / CSS
html5清空画布方法(三种)
2017/10/16 HTML / CSS
土耳其国际性时尚购物网站:Modanisa
2018/01/19 全球购物
戴尔新西兰官网:Dell New Zealand
2020/01/07 全球购物
大学生毕业的自我鉴定
2013/11/13 职场文书
财务审计整改报告
2014/11/06 职场文书
家属答谢词
2015/01/05 职场文书
党员转正大会主持词
2015/07/02 职场文书
动画电影《擅长捉弄人的高木同学》6月10日上映!
2022/03/20 日漫