Heim  >  Artikel  >  Backend-Entwicklung  >  php: XMLWriter-Methode zum Betreiben von XML

php: XMLWriter-Methode zum Betreiben von XML

黄舟
黄舟Original
2017-07-17 16:20:491917Durchsuche

Das Beispiel in diesem Artikel beschreibt die Methode, mit der PHP XML basierend auf XMLWriter betreibt. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

Im Anschluss an die gestrige Lektion lernen wir eine Methode zum Lesen und Schreiben von XML, die sich hauptsächlich um XMLWriter und XMLReader dreht. Ersteres wird zum Generieren von XML verwendet, und letzteres wird zum Lesen und Analysieren von XML verwendet. Schauen wir uns ohne weiteres einen Blick auf

1 XML-Datei oder String

<?php
 header("Content-type: text/html; charset=utf-8");
 $xml=new XMLWriter();
 //$xml->openUri("php://output");
 //设置输出,如果不需要保存成文件则使用上面被注释掉那句
 $xml->openUri("stu2.xml");
 //设置缩进字符串,这里设置为空串(这句和下面的setIntent也可以不要)
 $xml->setIndentString(&#39;&#39;);
 $xml->setIndent(true);
 //xml文档开始
 $xml->startDocument(&#39;1.0&#39;, &#39;utf-8&#39;);
 //创建根节点
 $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();
?>
Das Merkmal dieser Methode ist, dass am Ende jedes Tags ein endElement erforderlich ist und das Dokument nach dem Zusammenfügen der XML beendet werden muss. Es entsteht ein Gefühl von „Umhüllungsschichten“

2. XML-Analyse

<?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 == &#39;item&#39;) {
     print $xml->getAttribute("id") . "</br>";
   }
  if ($xml->nodeType == XMLREADER::ELEMENT && $xml->localName == &#39;name&#39;) {
     //移动指针到下一个节点
     $xml->read();
     //取得文本节点的值
     print $xml->value."</br>";
  }
  if ($xml->nodeType == XMLREADER::ELEMENT && $xml->localName == &#39;age&#39;) {
     $xml->read();
     print $xml->value."</br>";
  }
 }
?>
Diese Art der XML-Analyse ist effizienter. Wenn Sie einige Teile nicht verstehen, lesen Sie bitte das PHP-Entwicklungshandbuch

Der Inhalt der analysierten Datei lautet wie folgt

<?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>
Das Folgende ist das analysierte Ergebnis

Das obige ist der detaillierte Inhalt vonphp: XMLWriter-Methode zum Betreiben von XML. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn