Maison >développement back-end >tutoriel php >Explication détaillée de la façon dont PHP utilise DOM et simplexml pour lire des documents XML
Cet article présente principalement la méthode PHP utilisant DOM et simplexml pour lire des documents XML. Il analyse les compétences opérationnelles associées de PHP utilisant DOM et simplexml pour créer, charger et lire des fichiers XML sous forme d'exemples. Vous pouvez vous référer à ce qui suit
L'exemple de cet article décrit comment PHP utilise DOM et simplexml pour lire des documents XML. Partagez-le avec tout le monde pour référence, comme suit :
Exemple Utilisez DOM pour obtenir les titres de tous les romans de Jin Yong dans le document XML suivant. L'emplacement du document XML est ./books.xml :
<?xml version="1.0" encoding="utf-8"?> <root> <book> <title>天龙八部</title> <author>金庸</author> </book> <book> <title>陆小凤</title> <author>古龙</author> </book> <book> <title>倚天屠龙记</title> <author>金庸</author> </book> <book> <title>西游记</title> <author>吴承恩</author> </book> <book> <title>神雕侠侣</title> <author>金庸</author> </book> <book> <title>射雕英雄传</title> <author>金庸</author> </book> </root>
Utilisez le code DOM pour implémenter :
Étapes de lecture du document XML DOM : 1. Créer un objet DOM—— 》2. Charger le contenu du document DOM——》3. Intercepter la balise où se trouve le contenu à lire——》obtenir le contenu à lire.header('Content-type:text/html;charset=utf-8'); $arr=array(); $dom = new DOMDocument();//创建DOM对象 $dom->load('./books.xml');//载入xml文档 print_r($dom); echo '<hr>'; $dom = $dom->getElementsByTagName('book');//截取标签 for($i=0;$i<$dom->length;$i++){ if($dom->item($i)->childNodes->item(1)->childNodes->item(0)->wholeText=='金庸'){ $arr[] = $dom->item($i)->childNodes->item(0)->childNodes->item(0)->wholeText.'<br />';//获取内容 } } print_r($arr);Ce qui est renvoyé après avoir utilisé getElementsByTagName et childNodes sont des objets, ils doivent donc utiliser item(int) par la suite, même si les objets qu'ils renvoient ne contiennent que Un élément doit également être spécifié avec item(0), sinon une erreur se produira.
Utilisez le code simplexml pour implémenter :
$simxml = simplexml_load_file('./books.xml'); $t = $simxml->book; $arr=array(); foreach ($t as $v){ if($v->author=='金庸'){ $arr[] = (string)$v->title; } } print_r($arr);Après avoir utilisé simplexml_load_file, l'objet est renvoyé Le projet. a à la fois des objets et des tableaux. Qu'il s'agisse d'un objet ou d'un tableau, vous pouvez utiliser foreach pour parcourir le contenu. Le dernier contenu obtenu par cette instance, $v->title, est en fait un objet, il doit donc être converti en chaîne à l'aide de string. Ce qui précède représente l’intégralité du contenu de cet article, j’espère qu’il sera utile à l’étude de chacun.
PHP implémente la méthode de génération et d'analyse XML basée sur SimpleXML
Introduction à l'utilisation de SimpleXML pour l'analyse et la génération PHP XML
Explication détaillée de l'utilisation de la fonction php SimpleXML()
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!