簡體   English   中英

如何使用PHP從XML文件讀取所有節點? 不只是特定的節點

[英]How to read all Nodes from XML file with using PHP? Not just specific nodes

這是我的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");

它有效嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM