>  기사  >  백엔드 개발  >  PHP 크롤러를 사용하여 XML 데이터를 가져오고 구문 분석하는 방법

PHP 크롤러를 사용하여 XML 데이터를 가져오고 구문 분석하는 방법

王林
王林원래의
2023-06-13 16:31:211828검색

웹 개발에서 XML 데이터를 얻고 구문 분석하는 것은 매우 일반적인 작업입니다. 이 기사에서는 PHP 크롤러를 사용하여 XML 데이터를 얻고 구문 분석하는 방법에 중점을 둘 것입니다.

1. XML 데이터 얻기

  1. cURL 라이브러리

cURL 라이브러리는 데이터를 얻기 위해 매우 일반적으로 사용되는 PHP 라이브러리입니다. 다음 코드를 사용하여 웹사이트에서 XML 데이터를 가져올 수 있습니다.

$url = 'http://example.com/example.xml';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$xml = curl_exec($ch);
curl_close($ch);

여기에서는 컬_init()를 사용하여 cURL 객체를 초기화하고 CURLOPT_URL 매개변수를 대상 URL로 설정합니다. CURLOPT_RETURNTRANSFER 매개변수를 1로 설정하면 cURL이 콘텐츠를 직접 출력하는 대신 문자열을 반환합니다.

  1. file_get_contents() 함수

cURL 라이브러리가 XML 데이터를 얻는 동안 file_get_contents() 메서드도 XML 데이터를 얻을 수 있습니다. 다음 예를 따르면 이 목표를 달성할 수 있습니다.

$url = 'http://example.com/example.xml';
$xml = file_get_contents($url);

2. XML 데이터 구문 분석

PHP는 XML 데이터를 구문 분석하는 다양한 방법을 제공합니다.

  1. SimpleXML

SimpleXML은 PHP에서 사용하기 매우 쉬운 XML 파서입니다. SimpleXML을 다음과 같이 사용할 수 있습니다.

$xml = simplexml_load_string($xml);

여기에서는 simplexml_load_string() 메서드를 사용하여 XML 문자열을 구문 분석하고 객체로 변환했습니다.

예를 들어 다음 XML 문서가 있다고 가정합니다.

<?xml version="1.0" encoding="UTF-8" ?>
<bookstore>
  <book>
    <title>PHP 7 Programming Blueprints</title>
    <author>Vikram Vaswani</author>
    <price>28.99</price>
  </book>
  <book>
    <title>Mastering PHP 7</title>
    <author>Chad Russell</author>
    <price>39.99</price>
  </book>
</bookstore>

다음 코드를 사용하여 이 XML 데이터에 액세스하고 출력할 수 있습니다.

foreach ($xml->book as $book) {
  echo "Title: " . $book->title . "<br>";
  echo "Author: " . $book->author . "<br>";
  echo "Price: " . $book->price . "<br>";
}

출력은 다음과 같습니다.

Title: PHP 7 Programming Blueprints
Author: Vikram Vaswani
Price: 28.99
Title: Mastering PHP 7
Author: Chad Russell
Price: 39.99
  1. DOMDocument

DOMDocument는 또 다른 것입니다. PHP XML 파서에서 일반적으로 사용됩니다. DOMDocument를 다음과 같이 사용할 수 있습니다.

$doc = new DOMDocument();
$doc->loadXML($xml);
$books = $doc->getElementsByTagName("book");

foreach ($books as $book) {
  $titles = $book->getElementsByTagName("title");
  $title = $titles->item(0)->nodeValue;

  $authors = $book->getElementsByTagName("author");
  $author = $authors->item(0)->nodeValue;

  $prices = $book->getElementsByTagName("price");
  $price = $prices->item(0)->nodeValue;

  echo "Title: " . $title . "<br>";
  echo "Author: " . $author . "<br>";
  echo "Price: " . $price . "<br>";
}

여기에서는 DOMDocument 클래스를 사용하여 XML 문서를 구문 분석한 다음 getElementsByTagName() 메서드를 사용하여 특정 요소를 가져옵니다. 최종 출력은 SimpleXML 파서와 동일합니다.

3. 요약

이 기사에서는 cURL 라이브러리 및 file_get_contents() 함수를 사용하여 XML 데이터를 얻고 SimpleXML 및 DOMDocument를 사용하여 XML 데이터를 구문 분석하는 것을 포함하여 PHP 크롤러를 사용하여 XML 데이터를 얻고 구문 분석하는 방법을 배웠습니다. 이 기사가 도움이 되기를 바랍니다.

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

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