Maison > développement back-end > tutoriel php > Comment obtenir et analyser des données XML à l'aide du robot d'exploration PHP

Comment obtenir et analyser des données XML à l'aide du robot d'exploration PHP

王林
Libérer: 2023-06-13 16:32:01
original
1895 Les gens l'ont consulté

Dans le développement web, l'obtention et l'analyse de données XML sont des opérations très courantes. Cet article se concentrera sur la façon d'utiliser un robot d'exploration PHP pour obtenir et analyser des données XML.

1. Obtenir des données XML

  1. bibliothèque cURL

la bibliothèque cURL est un PHP très couramment utilisé pour obtenir des données bibliothèque. Vous pouvez utiliser le code suivant pour obtenir des données XML à partir d'un site Web :

$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);
Copier après la connexion

Ici, nous utilisons curl_init() pour initialiser un objet cURL et définir le paramètre CURLOPT_URL sur l'URL cible. Si vous définissez le paramètre CURLOPT_RETURNTRANSFER sur 1, cURL renverra une chaîne au lieu de générer directement le contenu.

  1. fonction file_get_contents()

Alors que la bibliothèque cURL obtient des données XML, la méthode file_get_contents() peut également obtenir des données XML. Nous pouvons atteindre cet objectif en suivant l'exemple suivant :

$url = 'http://example.com/example.xml';
$xml = file_get_contents($url);
Copier après la connexion

2. Analyser les données XML

PHP fournit une variété de méthodes pour analyser les données XML.

  1. SimpleXML

SimpleXML est un analyseur XML très simple à utiliser en PHP. Nous pouvons utiliser SimpleXML comme suit :

$xml = simplexml_load_string($xml);
Copier après la connexion

Ici, nous avons utilisé la méthode simplexml_load_string() pour analyser la chaîne XML et la convertir en objet.

Par exemple, supposons que nous ayons le document XML suivant :

<?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>
Copier après la connexion

Nous pouvons utiliser le code suivant pour accéder et afficher ces données XML :

foreach ($xml->book as $book) {
  echo "Title: " . $book->title . "<br>";
  echo "Author: " . $book->author . "<br>";
  echo "Price: " . $book->price . "<br>";
}
Copier après la connexion
#🎜🎜 #Résultats de sortie Comme suit :

Title: PHP 7 Programming Blueprints
Author: Vikram Vaswani
Price: 28.99
Title: Mastering PHP 7
Author: Chad Russell
Price: 39.99
Copier après la connexion

    DOMDocument
DOMDocument est un autre analyseur XML couramment utilisé en PHP. Nous pouvons utiliser DOMDocument comme suit :

$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>";
}
Copier après la connexion
Ici, nous utilisons la classe DOMDocument pour analyser le document XML, puis utilisons la méthode getElementsByTagName() pour obtenir des éléments spécifiques. Le résultat final est le même que celui de l'analyseur SimpleXML.

3. Résumé

Dans cet article, nous avons appris à utiliser le robot d'exploration PHP pour obtenir et analyser des données XML, notamment en utilisant la bibliothèque cURL et la fonction file_get_contents() pour obtenir Données XML, analysez les données XML à l'aide de SimpleXML et DOMDocument. J'espère que cet article vous sera utile.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal