这是我的XML文件:
<ROOT>
<WEB>
<thumb>images/thumbs/thumb.jpg</thumb>
<TITEL>Website</TITEL>
</WEB>
<FLYER>
<thumb>images/thumbs/thumb.jpg</thumb>
<TITEL>Flyer</TITEL>
</FLYER>
<CD>
<thumb>images/thumbs/thumb.jpg</thumb>
<TITEL>cd</TITEL>
</CD>
</ROOT>
在我的PHP文件中,我想从xml文件中读出
<?php
$q=$_GET["q"];
$xmlDoc = new DOMDocument();
$xmlDoc->load("references.xml");
if ($q=="ALL"){
$root = $xmlDoc->documentElement;
$products = $root->childNodes;
} else {
$products=$xmlDoc->getElementsByTagName($q);
}
foreach( $products as $product ){
$titles = $product->getElementsByTagName( "TITEL" );
$title = $titles->item(0)->nodeValue;
$thumbs = $product->getElementsByTagName( "thumb" );
$thumb = $thumbs->item(0)->nodeValue;
echo '<div style="float:left; margin:0 3px;">';
echo "<img src='".$thumb."' /><br />";
echo "<p style='text-align: center;'><b>".$title."</b></p></div>";
}
?>
PHP代码应该检查输入是否为"ALL",然后打印出所有内容。如果输入是"WEB"、"FLYER"或"CD",那么它只打印出这些项目,这很好。但是对于所有节点,它都不能正确打印出来。有很多div标签里面什么都没有。有人知道为什么和如何解决它吗??
谢谢
哪里有
$root = $xmlDoc->documentElement;
$products = $root->childNodes;
如果你把
$products = $xmlDoc->getElementsByTagName("ROOT");
它工作吗?