這篇文章將為大家詳細(xì)講解有關(guān)PHP中讀取XML的方式有哪些,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。
濰城網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)成立于2013年到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。 一.使用DOM生成和讀取XML文件
實(shí)例一:
復(fù)制代碼 代碼如下:
//Creates XML string and XML document using the DOM
$dom = new DomDocument('1.0');
//add root -
$books = $dom->appendChild($dom->createElement_x_x ('books'));
//add
$book = $books->appendChild($dom->createElement_x_x ('book'));
//add
$title = $book->appendChild($dom->createElement_x_x ('title'));
//add
$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
?>
實(shí)例二:
復(fù)制代碼 代碼如下:
$aa = "111";
$xmlstr = <<
I know that's the answer -- but what's the question?
XML;
$dom = new domDocument;
$dom->loadXML($xmlstr);
$test1 = $dom->saveXML();
$dom->save('test1.xml');
實(shí)例三:
test1.xml:
復(fù)制代碼 代碼如下:
example.php:
復(fù)制代碼 代碼如下:
$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文件
實(shí)例一:
復(fù)制代碼 代碼如下:
$xmlstr = <<
Cliff meets Lovely Woman. Loyal Dog sleeps, but wakes up to bark
at mailman.
XML;
//提取節(jié)點(diǎn)內(nèi)容
$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
';
break;
case 'bookclubs':
echo $success. ' bookclub listings';
break;
}
}
//修改文本節(jié)點(diǎn)內(nèi)容
$xml = new SimpleXMLElement($xmlstr);
$xml->book[0]->characters->character[0]->name = 'Big Cliff';
echo $xml->asXML();
//添加子元素的文本節(jié)點(diǎn)
$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();
?>
實(shí)例二:
復(fù)制代碼 代碼如下:
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導(dǎo)入simpleXML:
復(fù)制代碼 代碼如下:
$sxe = simplexml_load_string('
Novel
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導(dǎo)入DOM:
復(fù)制代碼 代碼如下:
$dom = new domDocument;
$dom->loadXML('
Novel
if (!$dom) {
echo 'Error while parsing the document';
exit;
}
$s = simplexml_import_dom($dom);
echo $s->book[0]->title; // Great American Novel
?>
關(guān)于PHP中讀取XML的方式有哪些就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。