天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

用PHP編寫和讀取XML的幾種方式

一.使用DOM生成和讀取XML文件
實例一:
復制代碼 代碼如下:
<?php
//Creates XML string and XML document using the DOM
$dom = new DomDocument('1.0');
//add root - <books>
$books = $dom->appendChild($dom->createElement_x_x ('books'));
//add <book> element to <books>
$book = $books->appendChild($dom->createElement_x_x ('book'));
//add <title> element to <book>
$title = $book->appendChild($dom->createElement_x_x ('title'));
//add <title> text node element to <title>
$title->appendChild($dom->createTextNode('Great American Novel'));
//generate xml
$dom->formatOutput = true; // set the formatOutput attribute of domDocument to true
//save XML as string or file
$test1 = $dom->saveXML(); // put string in test1
$dom -> save('test1.xml'); // save as file
?>

實例二:
復制代碼 代碼如下:
$aa = "111";
$xmlstr = <<<XML
<?xml version='1.0'?>
<document>
<title>{$aa}</title>
<from>Joe</from>
<to>Jane</to>
<body>
I know that's the answer -- but what's the question?
</body>
</document>
XML;
$dom = new domDocument;
$dom->loadXML($xmlstr);
$test1 = $dom->saveXML();
$dom->save('test1.xml');


實例三:
test1.xml:
復制代碼 代碼如下:
<?xml version="1.0"?>
<books>
<book>
<author>Jack Herrington</author>
<title>php Hacks</title>
<publisher>O'Reilly</publisher>
</book>
<book>
<author>Jack Herrington</author>
<title>Podcasting Hacks</title>
<publisher>O'Reilly</publisher>
</book>
</books>


example.php:
復制代碼 代碼如下:
$doc = new DOMDocument();
$doc->load('test1.xml');
$books = $doc->getElementsByTagName("book");
foreach($books as $book){
$authors = $book->getElementsByTagName("author");
$author = $authors->item(0)->nodeValue;
$publishers = $book->getElementsByTagName( "publisher" );
$publisher = $publishers->item(0)->nodeValue;
$titles = $book->getElementsByTagName( "title" );
$title = $titles->item(0)->nodeValue;
echo "$title - $author - $publisher/n";
}


二.使用simple生成和讀取xml文件
實例一:
復制代碼 代碼如下:
<?
$xmlstr = <<<XML
<?xml version='1.0' standalone='yes'?>
<books>
<book>
<title>Great American Novel</title>
<characters>
<character>
<name>Cliff</name>
<desc>really great guy</desc>
</character>
<character>
<name>Lovely Woman</name>
<desc>matchless beauty</desc>
</character>
<character>
<name>Loyal Dog</name>
<desc>sleepy</desc>
</character>
</characters>
<plot>
Cliff meets Lovely Woman. Loyal Dog sleeps, but wakes up to bark
at mailman.
</plot>
<success type='bestseller'>4</success>
<success type='bookclubs'>9</success>
</book>
</books>
XML;

//提取節點內容
$xml = new SimpleXMLElement($xmlstr);
foreach ($xml->book[0]->success as $success) {
switch((string) $success['type']) { // Get attributes as element indices
case 'bestseller':
echo $success. ' months on bestseller list<br>';
break;
case 'bookclubs':
echo $success. ' bookclub listings';
break;
}
}

//修改文本節點內容
$xml = new SimpleXMLElement($xmlstr);
$xml->book[0]->characters->character[0]->name = 'Big Cliff';
echo $xml->asXML();

//添加子元素的文本節點
$xml = new SimpleXMLElement($xmlstr);
$character = $xml->book[0]->characters->addChild('character');
$character->addChild('name', 'Yellow Cat');
$character->addChild('desc', 'aloof');
$success = $xml->book[0]->addChild('success', '2');
$success->addAttribute('type', 'reprints');
echo $xml->asXML();

?>


實例二:
復制代碼 代碼如下:
if (file_exists('test1.xml')) { //讀取xml文件
$xml = simplexml_load_file('test1.xml');
var_dump(xml);
} else {
exit('Failed to open test1.xml.');
}


三.DOM和simple互操作
DOM導入simpleXML:
復制代碼 代碼如下:
<?php
$sxe = simplexml_load_string('<books><book><title>Great American
Novel</title></book></books>');
if ($sxe === false) {
echo 'Error while parsing the document';
exit;
}
$dom_sxe = dom_import_simplexml($sxe);
if (!$dom_sxe) {
echo 'Error while converting XML';
exit;
}
$dom = new DOMDocument('1.0');
$dom_sxe = $dom->importNode($dom_sxe, true);
$dom_sxe = $dom->appendChild($dom_sxe);
$test2 = $dom->saveXML(); // put string in test2
$dom -> save('test2.xml'); // save as file
?>


simpleXML導入DOM:
復制代碼 代碼如下:
<?php
$dom = new domDocument;
$dom->loadXML('<books><book><title>Great American
Novel</title></book></books>');
if (!$dom) {
echo 'Error while parsing the document';
exit;
}
$s = simplexml_import_dom($dom);
echo $s->book[0]->title; // Great American Novel
?>

php技術用PHP編寫和讀取XML的幾種方式,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 日本妈妈在线观看中文字幕 | 日日干夜夜爽 | 亚洲国产在线视频中文字 | 白丝制服被啪到喷水很黄很暴力 | 久久人妻熟女中文字幕AV蜜芽 | 色欲人妻无码AV专区 | 国产精品第十页 | 亚洲娇小性色xxxx | 某上海少妇3P黑人完整版BD | 在野外被男人躁了一夜动图 | 国产一级特黄aa毛片 | 国产精品AV色欲蜜臀在线 | 在线AV国产传媒18精品免费 | 国产不卡无码高清视频 | 精品 在线 视频 亚洲 | 欧美一级成人影院免费的 | 午夜影视不用充钱的免费 | 先锋影音av最新资源网 | 六度影院最新 | 97SE亚洲国产综合自在线不卡 | 忘忧草高清 | 日韩欧美一区二区三区免费观看 | 亚洲一日韩欧美中文字幕在线 | 国产精品1区在线播放 | 色综合久久久久久 | 狠狠操天天操夜夜操 | 妈妈的朋友5在线观看免费完整版中文 | 国产 日韩 欧美 综合 激情 | 日本无码人妻丰满熟妇5G影院 | 鸡鸡插屁股| 美女叉腿掰阴大胆艺术照 | 97精品国偷拍自产在线 | 91精品福利一区二区 | 久久青青草视频在线观 | 国模孕妇模特季玥之粉红 | 亚洲AV无码一区二区色情蜜芽 | 日韩精品一区二区亚洲AV观看 | 国产色精品VR一区二区 | 少妇两个奶头喷出奶水了怎么办 | 亚洲AV久久无码精品九号软件 | 女人张腿让男人桶免费 |