博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php XML 读写 创建
阅读量:5024 次
发布时间:2019-06-12

本文共 3082 字,大约阅读时间需要 10 分钟。

一 、XML 读

     1.1、 首先同目录定义好一个XML文件 :

    book.xml

1
书本001
2
书本002
3
书本003
这是标题

1.2  通过 getElementsByTagName 读取XML

 

$xml=new DOMDocument();$xml->load("book.xml");// 通过 getElementsByTagName 读取foreach($xml->getElementsByTagName('book') as $book){    $id=$book->getElementsByTagName("id");    $name=$book->getElementsByTagName("name");    echo "id:".$id->item(0)->nodeValue.",name:".$name->item(0)->nodeValue."
";}

1.3 通过 simplexml_import_dom  直接读取属性

// 通过simplexml_import_dom  直接读取属性$simplexml = simplexml_import_dom($xml);echo "sid->title:".$simplexml->title;
echo  "the id is :".$simplexml->book[0]->id; echo  "the id is :".$simplexml->title;

 

二 、XML 创建

     2.1、通过 字符串 创建XML document 元素

    

$xmlString=<<
1
书本001
2
书本002
3
书本003
这是标题
XML;$dom=new DomDocument;$dom->loadXML($xmlString);

 

2.2 通过 DOMDocument  api  创建XML 对象 ( 子节点,节点属性 ,CDATA属性值标记)

class buildXml{    /*     *  创建一个XML元素     * */    private function  createXml()    {        $dom = new DOMDocument("1.0");        $books = $dom->createElement("books");        for ($i = 0; $i < 4; $i++) {            $book = $dom->createElement("book");// 为book 节点添加一个属性            $price = $dom->createAttribute("price");            $priceValue = $dom->createTextNode($i * 10);            $price->appendChild($priceValue);            $book->appendChild($price);// 添加一个id 接点元素 并赋值            $id = $dom->createElement("id");            $idValue = $dom->createTextNode($i);            $id->appendChild($idValue);            $book->appendChild($id);//  添加一个待 CDATA标识的内容            $title = $dom->createElement("title");            $titleValue = $dom->createCDATASection("这是一个带CDATA标签的内容");            $title->appendChild($titleValue);            $book->appendChild($title);            $books->appendChild($book);        }        $dom->appendChild($books);        return $dom->saveXML();    }    // 输出XML    public function  printXML()    {        header("Content-Type: text/xml");        echo $this->createXml();    }    // 保存XML    public function  saveXML()    {        $result = false;        try {            //打开要写入 XML数据的文件            $fp = fopen("newxml.xml", "w");            //写入 XML数据            fwrite($fp, $this->createXml());            //关闭文件            fclose($fp);            $result = true;        } catch (Exception $e) {            print $e->getMessage();            exit();        }        return $result;    }}

 

2.3  http 输出 XML

 
require_once "buildXml.php";
$xml = new buildXml; echo $xml->printXML();

 

2.4 已文件形式保存 XML

require_once "buildXml.php";$xml = new buildXml;$xml->saveXML();

 

        

 

转载于:https://www.cnblogs.com/rhythmK/p/4658312.html

你可能感兴趣的文章
视频监控 封装[PlayCtrl.dll]的API
查看>>
软件工程APP进度更新
查看>>
Python 使用正则替换 re.sub
查看>>
CTF中那些脑洞大开的编码和加密
查看>>
简化工作流程 10款必备的HTML5开发工具
查看>>
c++ 调用外部程序exe-ShellExecuteEx
查看>>
Java进击C#——语法之知识点的改进
查看>>
IdentityServer流程图与相关术语
查看>>
BirdNet: a 3D Object Detection Framework from LiDAR information
查看>>
icon fonts入门
查看>>
【Django】如何按天 小时等查询统计?
查看>>
HDU2191(多重背包)
查看>>
测试用例(一)
查看>>
【转】 mysql反引号的使用(防冲突)
查看>>
邮件中的样式问题
查看>>
AJAX 状态值与状态码详解
查看>>
php面向对象编程(oop)基础知识示例解释
查看>>
1.在数组中找到与给定总和的配对
查看>>
树的子结构
查看>>
关于根据Build Platform或者OS 加载x86或者x64 dll的问题
查看>>