这是我的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标签,里面没有任何东西。 有谁知道为什么以及如何解决它?
感谢
答案 0 :(得分:0)
你在哪里
$root = $xmlDoc->documentElement;
$products = $root->childNodes;
如果你把
$products = $xmlDoc->getElementsByTagName("ROOT");
有效吗?