현재 위치: > 최신 기사 목록> PHP 작동 XML 문서 : XPATH 쿼리 및 응용 프로그램 예제 분석

PHP 작동 XML 문서 : XPATH 쿼리 및 응용 프로그램 예제 분석

gitbox 2025-06-30

소개하다

PHP에서 XML 문서를 조작 할 때 XPath는 개발자가 XML에서 요소를 신속하게 찾아서 조작하는 데 도움이되는 매우 강력한 도구입니다. 이 기사는 XML 문서를 쿼리하기 위해 PHP에서 XPATH를 사용하는 방법을 설명하기 위해 몇 가지 예제를 사용합니다.

XML 및 XPath 소개

XML (Extensible Markup Language)은 데이터를 저장 및 전송하는 데 일반적으로 사용되는 마크 업 언어입니다. 유연한 구조가 있으며 다른 데이터 교환 시나리오에 적합합니다. XPath는 XML 문서에서 노드를 찾는 데 사용되는 언어입니다. 경로 표현식을 통한 노드의 위치를 ​​설명합니다.

XPath 선택기 사용

PHP에서는 DOM 확장자를 사용하여 XML 문서를 조작하고 XPath를 사용하여 DOMXPATH 클래스를 통해 쿼리 노드를 사용할 수 있습니다. 간단한 XML 예는 다음과 같습니다.

 
<bookstore>
  <book category="cooking">
    <title lang="en">Everyday Italian</title>
    <author>Giada De Laurentiis</author>
    <year>2005</year>
    <price>30.00</price>
  </book>
  <book category="children">
    <title lang="en">Harry Potter</title>
    <author>J.K. Rowling</author>
    <year>2003</year>
    <price>29.99</price>
  </book>
  <book category="web">
    <title lang="en">PHP Cookbook</title>
    <author>David Sklar</author>
    <year>2014</year>
    <price>40.00</price>
  </book>
</bookstore>

모든 책 노드를 선택하십시오

먼저 XPath를 사용하여 모든 책 노드를 선택할 수 있습니다. 이 기능을 구현하는 PHP 코드는 다음과 같습니다.

 
$xml = new DOMDocument();
$xml->load('books.xml');
$xpath = new DOMXPath($xml);
$books = $xpath->query('//book');
foreach ($books as $book) {
    // 각 책을 처리하십시오
}

위의 코드에서 XPath 표현식 "// book"은 모든 "책"노드를 선택합니다. 그런 다음`foreach` 루프를 사용 하여이 노드를 반복하여 처리 할 수 ​​있습니다.

특정 속성이있는 책 노드를 선택하십시오

다음으로 특정 속성에 따라 노드를 선택할 수 있습니다. 예를 들어, "Cooking"카테고리가있는 모든 책을 선택하십시오.

 
$xpath = new DOMXPath($xml);
$books = $xpath->query('//book[@category="cooking"]');
foreach ($books as $book) {
    // 처리 "cooking" 카테고리의 책
}

xpath 표현식 "// book [@category = 'cooking']"를 통해 "Cooking"카테고리로 모든 책 노드를 선택할 수 있습니다.

특정 하위 노드가있는 책 노드를 선택하십시오

어린이 노드의 존재에 의해 책을 필터링 할 수도 있습니다. 예를 들어, "제목"하위 노드가 포함 된 모든 책을 선택하십시오.

 
$xpath = new DOMXPath($xml);
$books = $xpath->query('//book[title]');
foreach ($books as $book) {
    // 처리가 포함됩니다 "title" 어린이를위한 책
}

이 xpath 표현식 "// book [title]"는 하나 이상의 "제목"하위 노드를 포함하는 모든 책 노드를 선택합니다.

결론적으로

XPath를 사용하면 개발자는 PHP에서 XML 문서를 효율적으로 조작하고 특정 요소를 신속하게 찾아 필터링 할 수 있습니다. 이 기사는 PHP 및 XML 운영 기술을 더 잘 마스터하는 데 도움이되는 몇 가지 일반적인 XPath 쿼리 응용 프로그램을 보여줍니다.