2009-11-02 96 views
0

我將如何檢索這些XML標籤在PHP中的內容?PHP XML:如何使用PHP顯示XML

我可以在標籤內沒有':'的情況下使用它。但對於這一點,似乎並沒有工作:

$description = $item->getElementsByTagName('desc'); 
$description = $description->item(0)->firstChild->nodeValue; 


<sql:time>21:00</sql:time> 
<sql:event> Empty </sql:event> 
<sql:desc>This field is empty</sql:desc> 

感謝

回答

2

另外,您可以使用XPath ......

$xp = new DOMXpath($dom); 

$xpath->registerNamespace('sql', "http://URI"); 

$xpath_str = '//sql:desc/text()'; 

$titles = $xpath->evaluate($xpath_str); 

print $titles->item(0)->nodeValue ."\n"; 

(假設我沒有犯任何錯誤,我可能有..)

http://www.php.net/manual/en/domxpath.registernamespace.php

2

使用功能的namespace equvilant你目前正在使用:

元素名稱的冒號deneotes命名空間是中。通過調用隨着時間:所以你會得到了SQL的信息

$description = $item->getElementsByTagNameNS('sql', 'time'); 
+0

我試過了,它沒有工作。這可能是因爲它的父標籤只是一個常規標籤嗎?並即時運行一個foreach循環周圍 – Stephen 2009-11-02 21:17:38

+0

有可能在XML文檔中沒有正確定義名稱空間,因此它在dom中不可用。有關如何添加命名空間,請參閱http://us2.php.net/manual/en/domdocument.createattributens.php。 – 2009-11-02 21:24:16