DOMDocument这个功能是我们php中自带的一个功能,下面我来介绍利用DOMDocument生成xml文档,并且也介绍DOMDocument解析xml文件的方法,有需要的朋友可参考.
数组实例代码如下:
- $arr[] = array(
- 'name' => $row['name'],
- 'sex' => $row['sex'],
- 'age' => $row['age']
- );
生成php,代码如下:
- $doc = new DOMDocument('1.0', 'utf-8'); // 声明版本和编码
- $doc->formatOutput = true;
- $r = $doc->createElement("root");
- $doc->appendChild($r);
- foreach ($arr as $dat) {
- $b = $doc->createElement("data");
- $name = $doc->createElement("name");
- $name->appendChild($doc->createTextNode($dat['name']));
- $b->appendChild($name);
- $sex = $doc->createElement("sex");
- $sex->appendChild($doc->createTextNode($dat['sex']));
- $b->appendChild($sex);
- $age = $doc->createElement("age");
- $age->appendChild($doc->createTextNode($dat['age']));
- $b->appendChild($age);
- //开源代码Vevb.com
- $r->appendChild($b);
- }
- echo $doc->saveXML();
这样就生成了一个xml文件了.
解析xml文件也是非常的简单了,代码如下:
- header("Content-type:text/html; Charset=utf-8");
- $url = "createXML.php";
- $reader = new XMLReader(); //实例化XMLReader
- $reader->open($url); //获取xml
- $i=1;
- while ($reader->read()) {
- if ($reader->nodeType == XMLReader::TEXT) { //判断node类型
- $m = $i%3;
- if($m==1)
- $name = $reader->value; //读取node值
- if($m==2)
- $sex = $reader->value;
- if($m==0){
- $age = $reader->value;
- $arr[] = array(
- 'name' => $name,
- 'sex' => $sex,
- 'age' => $age
- );
- }
- $i++;
- }
- }
- //print_r($arr);
新闻热点
疑难解答