이 글에서는 주로 PHP가 DOM과 simplexml을 사용하여 xml 문서를 읽는 방법을 소개합니다. DOM과 simplexml을 사용하여 xml 파일을 예제 형식으로 생성하고 로드하고 읽는 PHP의 관련 작업 기술을 분석합니다. 다음을 참조할 수 있습니다.
이 기사의 예는 PHP가 DOM과 simplexml을 사용하여 xml 문서를 읽는 방법을 설명합니다. 다음과 같이 참조용으로 모든 사람과 공유하십시오.
예 DOM을 사용하여 다음 xml 문서에서 모든 Jin Yong 소설의 제목을 얻습니다. xml 문서의 위치는 ./books.xml입니다.
<?xml version="1.0" encoding="utf-8"?> <root> <book> <title>天龙八部</title> <author>金庸</author> </book> <book> <title>陆小凤</title> <author>古龙</author> </book> <book> <title>倚天屠龙记</title> <author>金庸</author> </book> <book> <title>西游记</title> <author>吴承恩</author> </book> <book> <title>神雕侠侣</title> <author>金庸</author> </book> <book> <title>射雕英雄传</title> <author>金庸</author> </book> </root>
DOM 코드를 사용하여 구현:
DOM 읽기 xml 문서 단계: 1. DOM 객체 생성——》2 .DOM 문서 컨텐츠 로드——>3. 읽을 컨텐츠가 있는 태그를 가로채십시오.——>읽을 컨텐츠를 가져옵니다.
header('Content-type:text/html;charset=utf-8'); $arr=array(); $dom = new DOMDocument();//创建DOM对象 $dom->load('./books.xml');//载入xml文档 print_r($dom); echo '<hr>'; $dom = $dom->getElementsByTagName('book');//截取标签 for($i=0;$i<$dom->length;$i++){ if($dom->item($i)->childNodes->item(1)->childNodes->item(0)->wholeText=='金庸'){ $arr[] = $dom->item($i)->childNodes->item(0)->childNodes->item(0)->wholeText.'<br />';//获取内容 } } print_r($arr);
getElementsByTagName 및 childNodes를 사용한 후 반환되는 것은 객체이므로 반환하는 객체에 항목이 하나만 포함되어 있어도 이후에는 item(int)을 사용해야 합니다. , item(0)에도 지정해야 합니다. 그렇지 않으면 오류가 발생합니다.
simplexml 코드를 사용하여 구현:
$simxml = simplexml_load_file('./books.xml'); $t = $simxml->book; $arr=array(); foreach ($t as $v){ if($v->author=='金庸'){ $arr[] = (string)$v->title; } } print_r($arr);
simplexml_load_file을 사용한 후 객체가 반환되고, 객체는 둘 다 객체와 배열이 있습니다. 객체이든 배열이든 foreach를 사용하여 내용을 반복할 수 있습니다. 이 인스턴스에서 얻은 마지막 콘텐츠인 $v->title은 실제로는 객체이므로 string을 사용하여 문자열로 변환해야 합니다.
PHP가 DOM과 simplexml을 사용하여 xml 문서와 관련 기사를 읽는 방법에 대한 더 많은 예를 보려면 PHP 중국어 웹사이트에 주목하세요!