[請益] XML DOM 問題
我想請問一個php讀取DOM的狀況
今天我有一個自己建立的 XML 檔如下
<list>
<item serial="1">
<pt_path>oh.jpg</pt_path>
<pt_path>my.jpg</pt_path>
<pt_path>god.jpg</pt_path>
</item>
<item serial="2">
<pt_path>ooo.jpg</pt_path>
<pt_path>xxx.jpg</pt_path>
</item>
</list>
而我今天要取出 pt_path 的內容。
而且是以 serial 來判斷要取出的是哪個 node ,我的流程如下
$loadImgXml = new DOMDocument();
$loadImgXml->load ("cart/show_img.xml");
$imgNode = $loadImgXml->getElementsByTagName("item");
//到此可以抓到 2 個 item Node
接著是
for($is = 0 ; $is < $imgNode->length ; $is++)
{
$subitem = $imgNode->item($is); // 個別抓 item
if( $subitem->attributes->getNamedItem("serial")->nodeValue == $itemID )
{ // 上面是抓 attribute "serial" 的值是不是我要的 node
$cNodes = $subitem->childNodes; //假如是我要的 node, 取得 pt_path 集合
foreach($cNodes as $node)
{
echo $node->nodeValue."1<br />"; //印 1 是怕印出空的看不到
}
}
}
問題是,我確認第二段抓 serial 的部份是OK的,成功抓到我要的東西
但是在下面跑 echo 的時候有一點點小問題
以目前的 xml 他會顯示成下面的狀況
1
oh.jpg1
1
my.jpg1
1
god.jpg1
1
就是原本只有三個childNode變成有6個childNode,但是若我以下面的 xml 跑
<list>
<item serial="1"><pt_path>oh.jpg</pt_path><pt_path>my.jpg</pt_path>...</item>
<item serial="2"><pt_path>ooo.jpg</pt_path><pt_path>xxx.jpg</pt_path></item>
</list>
那輸出就一切正常
oh.jpg1
my.jpg1
god.jpg1
以前我製作時沒有遇過這種問題 ... 不知道為什麼這次就出現了
因為我的 xml 可能會變得很大(每新增圖片就需要手動 append),未來也不一定是我修改
所以為了讓 xml 比較好理解,不希望縮成這樣子 ..
試問有解決方法嗎~"~ 謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.250.247.227
推
08/31 20:20, , 1F
08/31 20:20, 1F
→
08/31 20:21, , 2F
08/31 20:21, 2F
→
08/31 20:53, , 3F
08/31 20:53, 3F
→
08/31 20:53, , 4F
08/31 20:53, 4F
→
08/31 20:54, , 5F
08/31 20:54, 5F
推
09/01 00:57, , 6F
09/01 00:57, 6F
→
09/01 00:57, , 7F
09/01 00:57, 7F
→
09/01 00:58, , 8F
09/01 00:58, 8F
→
09/01 00:58, , 9F
09/01 00:58, 9F
→
09/01 00:59, , 10F
09/01 00:59, 10F
→
09/01 00:59, , 11F
09/01 00:59, 11F
→
09/01 01:01, , 12F
09/01 01:01, 12F
→
09/01 11:17, , 13F
09/01 11:17, 13F
PHP 近期熱門文章
PTT數位生活區 即時熱門文章
151
156