ホームページ  >  記事  >  php教程  >  PHP中DOMDocument生成与解析XML格式数据

PHP中DOMDocument生成与解析XML格式数据

WBOY
WBOYオリジナル
2016-05-25 16:42:091109ブラウズ

DOMDocument这个功能是我们php中自带的一个功能,下面我来介绍利用DOMDocument生成xml文档,并且也介绍DOMDocument解析xml文件的方法,有需要的朋友可参考.

数组实例代码如下:

<?php
$arr[] = array(
    &#39;name&#39; => $row[&#39;name&#39;],
    &#39;sex&#39; => $row[&#39;sex&#39;],
    &#39;age&#39; => $row[&#39;age&#39;]
);
?>

生成php,代码如下:

<?php
$doc = new DOMDocument(&#39;1.0&#39;, &#39;utf-8&#39;); // 声明版本和编码
$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[&#39;name&#39;]));
    $b->appendChild($name);
    $sex = $doc->createElement("sex");
    $sex->appendChild($doc->createTextNode($dat[&#39;sex&#39;]));
    $b->appendChild($sex);
    $age = $doc->createElement("age");
    $age->appendChild($doc->createTextNode($dat[&#39;age&#39;]));
    $b->appendChild($age);
    $r->appendChild($b);
}
echo $doc->saveXML();
?>

这样就生成了一个xml文件了.

解析xml文件也是非常的简单了,代码如下:

<?php
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(
                &#39;name&#39; => $name,
                &#39;sex&#39; => $sex,
                &#39;age&#39; => $age
            );
        }
        $i++;
    }
}
//print_r($arr);
?>


文章地址:

转载随意^^请带上本文地址!

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。