>  기사  >  백엔드 개발  >  PHP가 xpath를 사용하여 XML을 구문 분석하는 방법

PHP가 xpath를 사용하여 XML을 구문 분석하는 방법

墨辰丷
墨辰丷원래의
2018-05-22 14:34:011301검색

이 글에서는 주로 PHP가 xpath를 사용하여 XML을 구문 분석하는 방법을 소개하고 Xpath 구문을 예제와 함께 자세히 분석하고, Use xpath를 통해 XML 문서를 구문 분석하는 작업 단계 및 관련 구현 기술을 설명합니다. 참조를 위해 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.

XML 파일은 PHP 웹사이트에서 개발한 경량 애플리케이션에서 널리 사용되며, PHP가 JS DOM, SimpleXml, Xpath 등 XML 파일을 구문 분석하는 방법 오늘은 Xpath를 사용하여 PHP에서 XML을 구문 분석하는 예제에 대해 설명하겠습니다. 동시에 Xpath 구문 분석 XML의 예제를 통해 몇 가지 기본 Xpath 구문을 소개하겠습니다.

Xpath란 무엇인가요? Xapth는 주로 XML 문서의 정보를 쿼리하는 데 사용됩니다. 경로 표현식을 사용하면 XML 파일을 구문 분석하고 XML 파일의 데이터를 읽을 수 있습니다.

PHP 구문 분석 XML에 대한 권장 튜토리얼:

PHP4 및 PHP5 버전에서 XML 문서를 구문 분석하는 방법

PHP 구문 분석이 필요한 XML 문서:

<?xmlversion="1.0"encoding="gbk"?>
<LeapsoulXML> 
<LeapsoulInfo> 
<name>PHP网站开发-PHP教程-jb51.net</name>
  <website>http://www.jb51.net</website>
 </LeapsoulInfo>
 <LeapsoulInfo> 
<name>
   <keywords>
   <keywordkeyid=&#39;1&#39;>PHP网站开发</keyword>
   <keywordkeyid=&#39;2&#39;>PHP教程</keyword>
   <keywordkeyid=&#39;3&#39;>PHP</keyword>
   </keywords>
   <seo>SEO</seo>
  </name>
 </LeapsoulInfo>
 <WebInfo> 
<name>PHP网站开发</name>
  <website>http://www.jb51.net</website>
 </WebInfo>
</LeapsoulXML>

Xpath 구문 튜토리얼

/는 XML 파일의 루트 노드에서 구문 분석을 시작한다는 의미입니다.

// 위치 관계를 고려하지 않고 XML 파일에서 선택한 현재 노드를 일치시키는 것을 의미합니다(SQL의 퍼지 쿼리와 유사). .현재 노드를 선택한다는 의미입니다. 현재 노드의 상위 노드 선택을 나타냅니다
@특정 노드 또는 속성과 일치함을 나타냅니다


PHP 구문 분석 XML 예제 1단계

$xml = simplexml_load_file(&#39;leapsoulcn.xml&#39;);

지침: PHP SimpleXML을 사용하여 필요한 XML 문서를 로드합니다. 구문 분석됨, SimpleXML 기본 PHP5 지원.

예제 1:

foreach($xml->xpath(&#39;LeapsoulInfo&#39;)as $value) { 
  print_r($value);
}

지침: 이 Xpath 예에서는 Xpath를 통해 지정된 노드를 쿼리하고, 모든 하위 노드를 배열 형태로 반환하고, PHP의 print_r을 통해 최종 배열 구조를 인쇄합니다. 기능.

예 2:

foreach($xml->xpath(&#39;LeapsoulInfo/name&#39;)as $value) { 
  print_r($value);
}

설명: 이 Xpath 인스턴스에서 Xapth가 쿼리해야 하는 특정 하위 노드는 Xpath 경로 표현식을 통해 지정되며 이 하위 노드의 요소는 다음과 같습니다. 배열 형태로 반환됩니다.

예 3:

foreach($xml->xpath(&#39;//name&#39;)as $value) { 
  print_r($value);
}

설명: 이 Xpath 예에서 //는 Xpath를 사용하여 XML 파일에 있는 모든 이름 노드의 요소를 쿼리함을 나타내는 데 사용됩니다. 이전 Xpath 예와의 차이점은 다음과 같습니다. 그 이름은 위치 관계가 없습니다.

예 4:

foreach($xml->xpath(&#39;LeapsoulInfo//name&#39;)as $value) { 
  print_r($value);
}

설명: PHP는 XML 파일의 지정된 노드 아래에 있는 하위 노드를 구문 분석하고 지정된 하위 노드의 위치 관계를 무시하고 모든 하위 노드를 배열 형식으로 반환합니다. LeapsoulInfoXML의 노드.

예제 5:

foreach($xml->xpath("//name/keywords/keyword[@keyid=&#39;1&#39;]")as $value) { 
  print_r($value);
}

지침:

PHP에서 구문 분석해야 하는 XML 파일에서 Xpath를 통해 keyid=1인 요소를 찾아 배열 형식으로 반환합니다.

자, 위에서 언급한 PHP Xpath 예제 튜토리얼은 PHP가 XML 파일을 구문 분석하는 가장 기본적인 방법입니다. Xpath 경로 표현식을 합리적으로 사용하면 복잡한 XML 쿼리 및 구문 분석을 수행할 수 있으며 SQL처럼 사용하기에도 편리합니다.

관련 권장 사항:

Python 크롤러의 기본 사용에 대한 자세한 설명

xpath


dom4j에서 XPath 사용에 대한 자세한 설명(코드 포함)


xpath


분석 예시

위 내용은 PHP가 xpath를 사용하여 XML을 구문 분석하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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