Maison >développement back-end >tutoriel php >PHP réalise la méthode d'exploitation XML basée sur XMLWriter
Cet article présente principalement la méthode d'exploitation XML de PHP basée sur XMLWriter et analyse les compétences opérationnelles de PHP utilisant XMLWriter pour générer et analyser des données XML sous forme d'exemples. Les amis dans le besoin peuvent s'y référer
. Suivez l'article d'hier. Apprenons cette fois une manière de lire et d'écrire du XML, qui tourne principalement autour de XMLWriter et XMLReader. Le premier est utilisé pour générer du XML, et le second est utilisé pour lire et analyser du XML. Sans plus tarder, jetons un coup d'œil
1. Générer un fichier ou une chaîne XML <.>
<?php header("Content-type: text/html; charset=utf-8"); $xml=new XMLWriter(); //$xml->openUri("php://output"); //设置输出,如果不需要保存成文件则使用上面被注释掉那句 $xml->openUri("stu2.xml"); //设置缩进字符串,这里设置为空串(这句和下面的setIntent也可以不要) $xml->setIndentString(''); $xml->setIndent(true); //xml文档开始 $xml->startDocument('1.0', 'utf-8'); //创建根节点 $xml->startElement("StudentInfo"); $xml->startElement("Item"); //添加属性 $xml->writeAttribute("type","1"); $xml->startElement("id"); $xml->text("01"); $xml->endElement(); $xml->startElement("name"); $xml->text("刘惜君"); $xml->endElement(); $xml->endElement(); $xml->endElement(); $xml->endDocument(); //header("Content-type: text/xml"); //取得缓冲区里的xml字符串 //echo $xml->outputMemory(); ?>La caractéristique de cette méthode est qu'un endElement est requis à la fin de chaque balise, et le document doit être terminé après l'épissage du fichier XML. Il y a une sensation de "couches d'emballage"
2 Parse XML
<?php header("Content-type: text/html; charset=utf-8"); $xml=new XMLReader(); //载入xml文件,如果是字符串直接使用xml方法 $xml->open("student.xml"); //开始读取xml while($xml->read()){ //根据节点类型和元素名称取得文本节点或属性 if ($xml->nodeType == XMLREADER::ELEMENT && $xml->localName == 'item') { print $xml->getAttribute("id") . "</br>"; } if ($xml->nodeType == XMLREADER::ELEMENT && $xml->localName == 'name') { //移动指针到下一个节点 $xml->read(); //取得文本节点的值 print $xml->value."</br>"; } if ($xml->nodeType == XMLREADER::ELEMENT && $xml->localName == 'age') { $xml->read(); print $xml->value."</br>"; } } ?>
.
Cette façon d'analyser XML est plus efficace. Si vous ne comprenez pas quelque chose, il est recommandé de consulter le manuel de développement PHP Le contenu du fichier analysé est le suivant<?xml version="1.0" encoding="utf-8"?> <UsersInfo><item id="01"><name>冯绍峰</name><age>30</age></item><item id="02"><name>潘玮柏</name><age>29</age></item></UsersInfo>Voici les résultats analysés
Recommandations associées :
Introduction détaillée à l'exemple de code pour écrire du XML à l'aide de >XMLWriter
printwriter php Exemple de code simple pour XMLWriter sortie RSS de la classe
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!