>웹 프론트엔드 >JS 튜토리얼 >DOM을 사용하여 지정된 노드 이름 데이터를 js_javascript 기술의 새 XML 파일에 복사(복제)하는 코드

DOM을 사용하여 지정된 노드 이름 데이터를 js_javascript 기술의 새 XML 파일에 복사(복제)하는 코드

WBOY
WBOY원래의
2016-05-16 18:04:221151검색
코드 복사 코드는 다음과 같습니다.

/*

<항목>
<제목 이름="t1"> ;
content1
2009-10-11
name=" t2">title2
content2
2009-11-11 >< /article>
*/
/*
DOM을 사용하여 세 가지 클래스의 관련 지식 포인트를 사용하여 지정된 노드 이름 데이터를 새 XML 파일로 복사(복제)합니다. 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 '
**************** ******** ***************
'
}
}
if(!function_exists('cp_xml'; )) {
/*
* 지정된 노드 요소 정보를 새 XML 파일에 복사
* @param $dom: 소스 XML 파일의 DOM 객체
* @param $newdom: DOM 객체 새 XML 파일의 이름
* @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$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") ) {
//예 1
$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); //예제 2
$dom = new DOMDocument();
$newdom = new DOMDocument('1.0','utf-8')
$dom->load("test10_12.xml" );
$node = '제목';
$ file = '11_2.xml'
cp_xml($dom,$newdom,$node,$file,$attribute = '이름'); 🎜>}
?>

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.