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(''); $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(); ?>
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 == '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>"; } } ?>
<?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 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!