<?php
//使用输出的方式生成xml格式的文档
function printXml() {
header("Content-Type:text/xml");
print '<?xml version="1.0" encoding="utf-8"?>'."\n";
print '<shows>';
$arr = array(
array(
"name"=>"Simpsons",
"channnel"=>"FOX",
"start"=>"8:00",
"duration"=>"30"
),
array(
"name"=>"Law $amp; Order",
"chnannel"=>"NBC",
"start"=>"8:00 PM",
"duration"=>"60"
)
);
foreach($arr as $elem){
print '<show>';
foreach($elem as $key=>$value){
print '<'.$key.'>'.$value.'</'.$key.'>';
}
print '</show>';
}
print '</shows>';
}
//使用DOMDocument
function useDomDocument() {
$dom = new DOMDocument("1.0");
$book = $dom->appendChild($dom->createElement('book'));
$title = $book->appendChild($dom->createElement('title'));
$title->appendChild($dom->createTextNode('PHP Cookbook'));
$title->setAttribute('cover','soft');
$author = $book->appendChild($dom->createElement('author'));
$author->appendChild($dom->createTextNode('Sklar'));
$author = $book->appendChild($dom->createElement('author'));
$author->appendChild($dom->createTextNode('Trachtenberg'));
//调整格式
$dom->formatOutput = True;
header("Content-Type:text/xml");
echo $dom->saveXML();
}
//用simplexml解析
function parseXml() {
$xml = simplexml_load_file("d:/test.xml");
foreach($xml as $person){
echo $person->firstname.",".$person->lastname."<br/>";
}
}
//使用dom读取xml
function parseXmlByDom() {
$dom = new DOMDocument("1.0");
$dom->load("d:/test.xml");
foreach($dom->getElementsByTagName("person") as $person){
$firstName = $person->getElementsByTagName("firstname")->item(0)->firstChild->nodeValue;
echo $firstName."<br/>";
}
}
//printXml();
//useDomDocument();
//parseXml();
parseXmlByDom();
?>