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
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);
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.
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);
2. Analyser les données XML
PHP fournit une variété de méthodes pour analyser les données XML.
SimpleXML est un analyseur XML très simple à utiliser en PHP. Nous pouvons utiliser SimpleXML comme suit :
$xml = simplexml_load_string($xml);
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>
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>"; }
Title: PHP 7 Programming Blueprints Author: Vikram Vaswani Price: 28.99 Title: Mastering PHP 7 Author: Chad Russell Price: 39.99
$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>"; }
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!