ホームページ >バックエンド開発 >PHPチュートリアル >phpの学習??xml
【xml作成】
$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");//タイトルノードの下に属性を作成
$sklar=$book->appendChild($ dom- >createElement('author'));
//$sklar->appendChild($dom->createTextNode('sklar'));
$name=$sklar->appendChild($dom- > createElement('name'));
$name->appendChild($dom->createTextNode('fsl'));
$trac=$book->appendChild($dom->createElement( '著者 '));
$trac->setAttribute("cover","feng");
$trac->setAttribute("id","123");
$trac->appendChild($dom -> ;createTextNode('trac'));
$dom->formatOutput=true;
echo $dom->saveXML();
$dom->save('test.xml');
$ dom- >saveHTMLFile('1.html');
1.htm
<著者 cover="feng" id="123">trac
本>
【xmlファイルの処理方法-xpath】
$s=simplexml_load_file("12-1.xml");
foreach ($ids as $id)
{
echo $id."
";
}
foreach ($pname as $name)
{
echo $name."
";
}
foreach ($per as $person){
list($age)=$person->xpath("年齢");
list($city)=$person->xpath("住所/都市") ;
list($pro)=$person->xpath("address/province");//子ノードを含むノードを処理します
echo $city."_".$pro.":".$age . "
";
}
$dom=new DOMDocument;
$dom->load("12-1.xml");
$xpath=new DOMXPath($dom);
$ Did =$xpath->query("/people/person/@id");
{
echo $id->nodeValue."
";
}
foreach ($dname as $name)
{
echo $name->nodeValue."
";
}
$dper=$xpath->query("/people/person");
{
$fn=$xpath->query('name', $ persion);
echo $fn->item(0)->firstChild->nodeValue." : ";
$fn2=$xpath->query('age',$persion);
echo $ fn2->item(0)->firstChild->nodeValue."
";
echo $persion->nodeValue."
";
}
<住所>
<名前>刘军名前>
<年齢>21年齢>
<住所>
<県>吉林県>
<市>长春市> ;
< ;name>周泰
< street>深南路
<家番号>67#家番号>
住所>
人>
人>
7-2.xsl
【应用xslt】
必须打开php扩展php_xsl
$xsl=new DOMDocument;
$xsl->load('7-2.xsl');
$xslt=new XSLTProcessor();
$xslt->importStylesheet( $xsl);
$xml=new DOMDocument;
$xml->load('12-1.xml');//二重パラメータ问题
$results=$xslt->transformToXml($xml);
$results2=$xslt->transformToURI($xml,'results.html');
$results3=$xslt->transformToDoc($xml);