一.剖析XML
建立demo.xml文件:
<?xml version="1.0" encoding="UTF-8"?> <bookstore> <book book_id="1"> <title>php</title> <author>php入门到摒弃</author> </book> <book book_id="2"> <title>java</title> <author>java入门到摒弃</author> </book> <book book_id="3"> <title>C</title> <author>C入门到摒弃</author> </book></bookstore>
运用PHP剖析demo.xml中的内容,以猎取到php这个文本节点为例:
<?php /*思绪:1.先载入xml文档 2.猎取节点列表对象 3.猎取子节点对象 4.猎取子节点列表对象 5.猎取文本对象 假如层级比较深就是轮回2-4步,先拿列表对象,再拿子节点对象...*/ $dom = new DOMDocument('1.0','UTF-8'); //print_r($dom); //DOMDocument Object $dom->load('demo.xml'); //载入要剖析的xml文档 $titleList = $dom->getElementsByTagName('title'); ////DOMNodeList Object ( [length] => 3 ) 猎取节点列表对象 $title = $titleList->item(0); //DOMElement Object 猎取子节点对象 $title = $title->childNodes; //DOMNodeList Object ( [length] => 1 )猎取子节点列表对象 $title = $title->item(0); //DOMText Object 猎取到文本对象 $text = $title->wholeText; //猎取到文本内容 echo $text; //php echo '<br>'; //也能够直接写成连接操纵: $text = $dom->getElementsByTagName('title')->item(0)->childNodes->item(0)->wholeText; echo $text; //php echo '<br>'; //第二种方法: $text = $dom->getElementsByTagName('title')->item(0)->nodeValue; //猎取到文本内容 echo $text; //php
除了剖析以外,还能够对xml节点举行删除和替代操纵:
$dom = new DOMDocument('1.0','UTF-8'); $dom->load('demo.xml'); //载入要剖析的xml文档 /** *xml删除节点 * */ $php = $dom->getElementsByTagName('book')->item(0); //猎取文本节点 $php->parentNode->removeChild($php); //猎取文本节点的父节点,然后站在父节点的态度删除子文本节点 /** * xml替代节点 * */ $java = $dom->getElementsByTagName('title')->item(0); //猎取要替代的文本节点 $newnode = $dom->createTextNode('python'); //建立新的文本节点 $java->replaceChild($newnode,$java->firstChild); //用新节点替代旧文本节点内容 header("content-type:text/xml"); echo $dom->saveXML(); //直接输出xml文本
二.建立XML
运用PHP建立一个以下的XML文件:
<?xml version="1.0" encoding="UTF-8"?> <bookstore> <book book_id="1"> <title>php</title> <author><![CDATA[PHP是世界上最好的编程言语.emmm...]]></author> </book></bookstore>
PHP代码:
<?php $dom = new DOMDocument('1.0','UTF-8'); $text = $dom->createTextNode('php'); //建立文本节点 $title = $dom->createElement('title'); //建立一般节点 $title->appendChild($text); //将文本节点作为子节点添加到一般节点内 $cdata = $dom->createCDATASection('PHP是世界上最好的编程言语.emmm...'); //建立CDATA节点 $author = $dom->createElement('author'); //建立一般节点 $author->appendChild($cdata); //将CDATA节点作为子节点添加到一般节点内 $book = $dom->createElement('book'); //建立一般节点 //将上面建立的两个一般节点作为子节点添加到一般节点内 $book->appendChild($title); $book->appendChild($author); $book_id = $dom->createAttribute('book_id'); //建立属性名 $book_id->value = '1'; //建立属性值 $book->appendChild($book_id); //将属性加到一般节点内 $bookstore = $dom->createElement('bookstore'); //建立一般节点 $bookstore->appendChild($book); //将一般节点作为子节点添加到一般节点内 $dom->appendChild($bookstore); //将一般节点添加到文档内 // header("content-type:text/xml"); // echo $dom->saveXML(); //直接输出xml文本 echo $dom->save('demo.xml'); //生成xml文件
在浏览器输出以下图:
相干教程:XML视频教程
以上就是XML的剖析与建立类型的细致内容,更多请关注ki4网别的相干文章!