程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> xml文件解析問題

xml文件解析問題

編輯:關於PHP編程




xml文件解析問題

我要解析下面的xml文件,取得title1,title2,xm:ce,xm:bt對應的值。

。。。。。。

title11
link12
dddddd
222222


">
title21
link22
aaaaaa
333333




代碼如下所示:
$doc = new DOMDocument();
$doc->load( "testFile.xml" );

$itemtags = $doc->getElementsByTagName( "item" );
foreach( $itemtags as $itemtag )
{
$titles = $itemtag->getElementsByTagName( "title1" );
$title = $titles->item(0)->nodeValue;

$links = $itemtag->getElementsByTagName( "title2" );
$link = $links->item(0)->nodeValue;

//$dctags = $itemtag->getElementsByTagName( "xm:ce" );
//$dctag = $dctags->item(0)->nodeValue;

echo "$title - $link - $dctag n";
}

現在的問題是,title1和title2對應的值都能取到,
但是xm:ce和xm:bt對應的值無法取到,
用這段代碼的話 $itemtag->getElementsByTagName( "xm:ce" );取到的對象肯定是空的。
請教一下,如何才能取到xm:ce和xm:bt對應的值呢?


最佳答案[url=http://www.111cn.cn/bbs/space.php?username=volew]鏈接標記volew[/url]
[url=http://www.111cn.cn/bbs/space.php?uid=94211]鏈接標記[img]http://www.111cn.cn/server/avatar.php?uid=94211&size=small[/img][/url]simplexml_load_file 怎麼樣?這個都可以讀到的。


D8888D回貼內容-------------------------------------------------------
simplexml_load_file 怎麼樣?這個都可以讀到的。

D8888D回貼內容-------------------------------------------------------
用正則

D8888D回貼內容-------------------------------------------------------
沒有人再給點建議嗎!

D8888D回貼內容-------------------------------------------------------
呀,百度,,,有現成的!

D8888D回貼內容-------------------------------------------------------
問題已經解決了,volew和我現在的方法一樣。過會我把代碼貼出來。

D8888D回貼內容-------------------------------------------------------
$rdf = simplexml_load_file("http://www.test.com/index.rdf");
$arr = array();
$i = 1;
while (isset($rdf->item[$i]->title)) {
$arr['item'][$i]['title1'] = htmlspecialchars($rdf->item[$i]->title1);
$node = $rdf->item[$i]->children('http://purl.org/dc/elements/1.1/');
$arr['item'][$i]['ce'] = htmlspecialchars($node->ce);
$arr['item'][$i]['bt'] = htmlspecialchars($node->bt);
$i++;
}
$i--;

foreach ($arr['item'] as $item) {
print $item['ce']."----".$item['bt']. "
";
}
大概處理過程就是這樣,沒有詳細整理,呵呵!
如有錯誤,歡迎指正。


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved