XML 문서를 운영하는 PHP DOMElement의 예
풀어 주다: 2016-07-25 09:00:04
-
-
/*
-
- <수업>
- <학생번호="101">
- <이름 >손오공
- Sun Xingzhe
- 123
- <소개>< [CDATA[&*$%! 특수 문자열^$&]]>소개>
<학생 번호 "10">
- 학생>
- */
-
-
-
- 코드 복사
2.php 코드
-
-
/** - *DOME요소 XML
- *http://bbs.it-home.org
- */
- $xmldoc = new DOMDocument(' 1.0', 'UTF-8');
- $xmldoc->load('datas.xml');
$itemsNodeList = $xmldoc->getElementsbyTagName(' Students');
- $itemElement = $itemsNodeList->item(0);//첫 번째 완전한 학생 정보 노드 가져오기
- $itemChildsNodeList = $itemElement->getElementsbyTagName('name');/ /Get 하위 노드의 "이름"에는 이름이 여러 개 있을 수 있습니다
- $itemChildNode = $itemChildsNodeList->item(0);//첫 번째 이름 노드 가져오기
- echo $itemChildNode->nodeValue;// 출력 노드 값
//함수로 캡슐화됨
- $nodeArr = array('name', 'age', 'introduction')
- function getNodeVal($xmldoc, $itemsName, $nodeArr){
- $items = $xmldoc->getElementsByTagName($itemsName);
- for($i=0; $i < $items->length; $i ){
- $item = $items->item($i);
- foreach($nodeArr as $node){
- $data[$i][] = $item->getElementsByTagName($node) ->item(0)->nodeValue;
- }
- }
- return $data;
- }
$data = getNodeVal($xmldoc , 'Student', $nodeArr);
- print_r($data);
//노드 추가
- $xmldoc = new DOMDocument('1.0', 'UTF- 8');
- $xmldoc->load('datas.xml');
- $items = $xmldoc->getElementsByTagName('class')->item(0);//루트 노드
- $student = $xmldoc->createElement('student');//새 학생 노드 생성
- $stu_name = $xmldoc->createElement('name','Zhang San');
- $stu_age = $xmldoc->createElement('age','15');
- $stu_intro = $xmldoc->createElement('introduction','강력한 실무 능력과 안정적인 성능');
- $items->appendChild($student);
- $student->appendChild($stu_name);
- $student->appendChild($stu_age);
- $student->appendChild ( $stu_intro);
- $bytes = $xmldoc->save('datas.xml')
- echo ($bytes)? "작성: $bytes 바이트": '저장 실패';< ;/ p>
//노드 삭제
- $xmldoc = new DOMDocument('1.0', 'UTF-8');
- $xmldoc->load('datas.xml' );
- $student = $xmldoc->getElementsByTagName('Student')->item(2);//삭제할 노드 직접 찾기
- $student->parentNode->removeChild($student );//상위 노드 삭제 방법
- $xmldoc->save('datas.xml');
//노드 값 수정
- $student = $ xmldoc->getElementsByTagName('student')->item(2);
- $student->getElementsByTagName('age')->item(0)->nodeValue = 10;
- $ Student->setAttribute('id', '110');
- $xmldoc->save('datas.xml');
//Xpath 검색 노드 적용< ;/p>
$xml = new DOMDocument('1.0', 'UTF-8');
- $xml->load('dat.xml');
- $xpath = new DOMXPath($xml);
- $nodeList = $xpath->query('/aaa/bbb/ddd/fff');
- echo $nodeList->item(0)-> ;nodeValue ;
//SimpleXML 클래스 연산 xml
- /*
- < ;books>
1001
- 200위안
- <작가> Da Ming
- Tian Long Ba Bu
- < ;1002
- <가격>321위안
- 장산
- Swordsman
- book>
1004
- 182위안
- 이思
- 리더
- */
- $ xml = simplexml_load_file('books. xml');
- $books = $xml->book;
- echo $books[1]->title . $books[1]['house'];/ /두 번째 책을 직접 가리킵니다.
- foreach($xml as $item){
- echo $item->title,' ',$item['house'],'
'
- }
- ?>
-
코드 복사
|
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31