1. 程式人生 > >php XML 讀寫 建立

php XML 讀寫 建立

一 、XML 讀

     1.1、 首先同目錄定義好一個XML檔案 :

    book.xml

<?xml version="1.0" encoding="utf-8"?>
<books>
  <book>
    <id>1</id>
    <name>書本001</name>
  </book>
    <book>
    <id>2</id>
    <name>書本002</name>
  </book>
    <
book> <id>3</id> <name>書本003</name> </book> <title>這是標題</title> </books>

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."<br/>"; }

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=<<<XML
<?xml version="1.0" encoding="utf-8"?>
<books>
  <book>
    <id>1</id>
    <name>書本001</name>
  </book>
    <book>
    <id>2</id>
    <name>書本002</name>
  </book>
    <book>
    <id>3</id>
        <name>書本003</name>
  </book>
    <title>這是標題</title>
</books>
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();

相關推薦

php XML 建立

一 、XML 讀      1.1、 首先同目錄定義好一個XML檔案 :     book.xml <?xml version="1.0" encoding="utf-8"?> <books> <book> <id>1</id&

C# xml

document path nodetype public oot art ade appdomain sed 1 class XmlClass 2 { 3 public string Pathname; //總列表 4 p

Python:xmlxml.etree.ElementTree模組使用)

#!/usr/bin/env python # coding:UTF-8 """ @version: python3.x @author:曹新健 @contact: [email protected] @software: PyCharm @file: xml.

php檔案操作

php操作檔案讀寫  $file_user = 'userfiles.txt';  $data = array(); 讀:  if(file_exists($file_user) && count(file($file_user))>1){    

C#基礎系列:Linq to Xmlxml

前言:xml的操作方式有多種,但要論使用頻繁程度,博主用得最多的還是Linq to xml的方式,覺得它使用起來很方便,就用那麼幾個方法就能完成簡單xml的讀寫。之前做的一個專案有一個很變態的需求:C#專案呼叫不知道是什麼語言寫的一個WebService,然後新增服

python xml

1. xml例子<?xml version="1.0" encoding="UTF-8"?> <annotation> <folder>VOC2007</folder> <filename>01240001.

PHP檔案,Base64編解碼

PHP讀寫檔案 //讀取檔案流 $fileData = file_get_contents("aaa.png"); //將檔案寫入本地 file_put_contents("bbb.png", $fileData); Base64編解碼 data=base6

Qt xml 之QXmlStreamReader

qt 處理 xml主要有兩個方式  QXmlStreamReader 和QDomDocument 本文簡紹 QXmlStreamReader 的讀與寫;並給出測試過的程式碼和xml; 一個xml檔案的一般格式:<quote> Aquotion<

fstream建立可能不存在的檔案

fstream file("b.txt", fstream::in|fstream::out|fstream::app);  ate 並不會導致create屬性, app可造成out屬性 in 表示只讀屬性 out表可寫屬性+create shuxing in+out 表

Matlab xml

最近需要用matlab進行XML檔案的讀寫,起初嘗試用matlab自帶的函式來做,但是發現不是很方便。後來找到了一個MATLAB的工具包,xml_io_tools,這個工具包以結構體的形式將XML讀入記憶體,便於我們後續進一步的處理,值得大家嘗試。        xml_

C#中 XML 檔案的方法(xmlreader,xmlwriter)

class Test     {         public static void Main(string[] args)         {             string path = "d:\\books.xml";                         XmlReader read

C# 配置文件Xml

forms adf splay 數據 star art void em1 ica 分析xxx.exe.config文件: 1 <?xml version="1.0" encoding="utf-8"?> 2 <configuration&g

phpcsv、xml文件: SimpleExcel

所有 技術分享 blog 二維數組 代碼 pre http 導出 set 實例結構: 1. csv2xml.demo.php <?php use SimpleExcel\SimpleExcel; // 這句不能少! require_once (‘../

PHPXML檔案的四種方法

  PHP對XML檔案進行讀寫操作的方法一共有四種,分別是:字串方式直接讀寫、DOMDocument讀寫、XMLWrite寫和XMLReader讀、SimpleXML讀寫,本文將依次對這四種方法進行介紹。   介紹之前首先對本文例子使用的資料和檔案進行說明。本文寫XML檔案

PHPxml

use SimpleXMLElement; public function abc(){ $xmlTag = array( 'starttime', 'endtime', 's

C# 基礎(十三)C# XML配置檔案、ini配置檔案的建立:動態修改IP

一、簡介 傳統的配置檔案ini已有被xml檔案逐步代替的趨勢,這裡主要討論XML配置檔案。 二、ini網址 https://www.cnblogs.com/cncc/p/3415694.html(重點) https://www.cnblogs.com/xmy-007/p/640022

Java建立以及xml文件(dom方式)

package myXML; import org.w3c.dom.*; import org.xml.sax.*; import java.io.*; import javax.xml.parsers.*; import javax.xml.transform.*;

【原】不用重新編譯php 安裝gd庫,開啟xml DOMDocument 支援

由於某度眾所周知的舉動,讓我搬離寫了5年的渣度空間,準備把技術性的文章定在CSDN了。這些都是文章備份。勿怪。。鑑於最近有些抓取機器和抄襲者,把標題的【原】字都複製,我不得不宣告:本文為 yukon12345原創,轉載請註明出處http://blog.csdn.net/yu

在.net中序列化xml方法的總結

port 單詞 創建 padding 在一起 sys base msd 屏幕 在.net中序列化讀寫xml方法的總結 閱讀目錄 開始 最簡單的使用XML的方法 類型定義與XML結構的映射 使用 XmlElement 使用 XmlAttribute 使用 Inner

c#Xml文件

引用 use 記錄 一行 tar desktop for 單個 contacts 寫入xml文件 第一種方法:使用XmlDocument類: Demo1 //通過代碼創建XML文檔 //1、引用命名空間 System.Xml