-
-
/*
-
- <수업>
- <학생번호="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'],'
'
- }
- ?>
-
코드 복사
|