手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >js中使用DOM复制(克隆)指定节点名数据到新的XML文件中的代码
js中使用DOM复制(克隆)指定节点名数据到新的XML文件中的代码
摘要:复制代码代码如下:content12009-10-11title2content22009-11-11*//*使用DOM复制(克隆)指定节点...

复制代码 代码如下:

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

}

?>

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

javascript实现点击商品列表checkbox实时统计金额的方法

网页里控制图片大小的相关代码

Nodejs中session的简单使用及通过session实现身份验证的方法

光标定位等TextRange的操作的范例代码

jquery使用each方法遍历json格式数据实例

一段实时更新的时间代码

移到这里,就会自动点击

体验jQuery和AngularJS的不同点及AngularJS的迷人之处

简单获取键盘的KeyCode

使用Node.js处理前端代码文件的编码问题

精品推荐
分类导航