2010-05-12 19 views
1

這裏快速新手問題,我如何訪問totalResults訪問帶有句號標記的XML/PHP

XML

<?xml version="1.0" encoding="UTF-8"?> 
<OpenSearchDescription xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/"> 
    <opensearch:totalResults>1</opensearch:totalResults> 
    <posts> 
    <post> 
     <score>10</score> 
    </post> 
    </posts> 
</OpenSearchDescription> 

要訪問score我這樣做:

PHP

$xmlObj = simplexml_load_string($theXMLabove); 
echo $xmlObj->posts->post[0]->score; 

但是,這些工作爲totalResults

echo $xmlObj->opensearch:totalResults; 
echo $xmlObj->opensearch->totalResults; 

對不起,問這樣一個跛腳的問題...

如何與遍歷XML PHP文件也可以理解:)

謝謝!

+0

的'opensearch'命名空間不說,文檔中定義。 – 2010-05-12 16:19:47

+0

糟糕,我已經添加了命名空間 – 2010-05-12 16:21:36

回答

1

與添加了命名空間,你可以這樣做:

$opensearch = $xmlObj->children('http://a9.com/-/spec/opensearch/1.1/'); 
echo $opensearch->totalResult; 
+0

工作很好,謝謝:) – 2010-05-12 16:26:22

0

嘗試:$xmlObj->children('opensearch');

林不知道,因爲從你貼什麼定義爲xmlnsopensearch命名空間的心不是如果,將工作雖然。這可能沒有什麼區別,但我不確定,因爲當iN必須在simplexml中處理ns時,ns一直被明確定義。

+0

由於命名空間並未在第一位指定,因此這不是一個格式良好的XML文檔。但是,一旦命名空間被定義,thetaiko提供的解決方案就是最合適的。 – EAMann 2010-05-12 16:47:50