>백엔드 개발 >PHP 튜토리얼 >php DOMDocument 적용 예제(XML 생성, 추가, 삭제, 수정)

php DOMDocument 적용 예제(XML 생성, 추가, 삭제, 수정)

WBOY
WBOY원래의
2016-07-25 09:04:081174검색
  1. $xmlpatch = 'index.xml';
  2. $_id = '1';
  3. $_title = 'title1' ;
  4. $_content = 'content1';
  5. $_author = 'author1';
  6. $_sendtime = 'time1';
  7. $_htmlpatch = '1.html';
  8. $doc = 신규 DOMDocument('1.0', 'utf-8');
  9. $doc -> formatOutput = true;
  10. $root = $doc -> createElement_x('root');//새 노드
  11. $index = $doc -> createElement_x('index');//새 노드
  12. $url = $doc -> createAttribute('url');//새 속성
  13. $patch = $doc - > createTextNode($_htmlpatch);//새 TEXT 값
  14. $url ->appendChild($patch);//$patch 텍스트를 $url 속성 값으로 설정
  15. $id = $doc -> ; createAttribute('id');
  16. $newsid = $doc -> createTextNode($_id);
  17. $id ->appendChild($newsid);
  18. $title - > createAttribute('title');
  19. $newstitle = $doc -> createTextNode($_title);
  20. $title ->appendChild($newstitle);
  21. $content = $doc -> ; createTextNode ($_content);//노드 값
  22. $author = $doc -> createAttribute('author');
  23. $newsauthor = $doc -> createTextNode($_author);
  24. $ 작성자 - >appendChild($newsauthor);
  25. $sendtime = $doc -> createAttribute('time');
  26. $newssendtime = $doc -> createTextNode($_sendtime);
  27. $sendtime ->appendChild($newssendtime);
  28. $index ->appendChild($id);//$id를 인덱스 노드의 속성으로 설정합니다. 다음은
  29. $index -> ($title);
  30. $index ->appendChild($content);
  31. $index ->appendChild($url);
  32. $index ->appendChild($author); $index ->appendChild($sendtime);
  33. $root ->appendChild($index);//인덱스를 루트 바이트 포인트로 설정
  34. $doc -> 루트를 다음 노드로 설정합니다
  35. $doc -> save($xmlpatch);//파일을 저장합니다
  36. echo $xmlpatch '가 생성 성공';
  37. ?>
  38. < DOCTYPE html PUBLIC "-// W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  39. XML 작업
코드 복사

  1. 2. 함수를 추가하려면(인덱스를 따르세요. PHP 파일은 비슷합니다. 가장 중요한 것은 로드를 추가하고 $root = $doc -> documentElement 노드를 획득하는 것입니다

  2. $xmlpatch = 'index .xml';
  3. $_id = ' 2';
  4. $_title = 'title2';
  5. $_content = 'content2';
  6. $_author = 'author2';
  7. $_sendtime = 'time2';
  8. $_htmlpatch = ' 2.html';
  9. $doc = new DOMDocument();
  10. $doc -> formatOutput = true;
  11. if($doc -> 로드 ($xmlpatch)) {
  12. $root = $doc -> documentElement;//루트 노드 가져오기(root)
  13. $index = $doc -> createElement_x('index');
  14. $ url = $doc -> createAttribute('url' );
  15. $patch = $doc -> createTextNode($_htmlpatch);
  16. $url ->appendChild($patch);
  17. $id = $doc -> createAttribute('id') ;
  18. $newsid = $doc -> createTextNode($_id);
  19. $id ->appendChild($newsid);
  20. $title = $doc ->$newstitle = $doc -> createTextNode($_title);
  21. $title ->appendChild($newstitle);
  22. $content doc -> createTextNode($_content);
  23. $author = $doc -> createAttribute('author');
  24. $newsauthor = $doc -> createTextNode($_author);
  25. $author ->appendChild($newsauthor);
  26. $sendtime = $doc -> createAttribute('time');
  27. $newssendtime = $doc -> createTextNode($_sendtime);
  28. $sendtime - >appendChild($newssendtime);
  29. $ index ->appendChild($id);
  30. $index ->appendChild($title);
  31. $index ->
  32. $index ->appendChild($url );
  33. $index ->appendChild($author);
  34. $index ->appendChild($sendtime);
  35. $root -> AppendChild($index);
  36. $doc - > save($xmlpatch);
  37. echo $_id '가 ' .$xmlpatch;
  38. } else {
  39. echo 'xml 파일에 추가되었습니다. 로드 오류!';
  40. }
  41. ?>
  42. < ;meta http-equiv="Content-Type" content ="text/html; charset=utf-8" />
  43. XML 작업-추가
  44. < ;/body>
  45. 코드 복사

3edit.php 수정 기능(제목 속성값, 노드값만 수정) 1 2 다음 및 마지막 페이지



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