2012-05-31 117 views
0

我有下面的代碼生成XML:獲取XML結果作爲字符串

$dom = new DomDocument('1.0'); 
...snip adding elements to document... 
$xmlout = $dom->saveXML(); 
$api = "myapi.com/myservice?". trim($xmlout); 

的問題是,如果我看的$api實際價值,它看起來像

"myapi.com/myservice?"<xml-structure> 

,而不是

"myapi.com/myservice?<xml-structure>" 

當我打印出使用print_r(); $ api,我懷疑這是干擾實際調用api,因爲url不正確。我懷疑$dom->saveXML()正在返回一個關聯數組,而不是實際上是一個字符串 - 這是由於如果我回顯$ xmlout,它只會打印各個節點的值,而不是節點本身。

獲取包含所有節點名稱的XML的字符串表示形式的最簡單方法是什麼?

回答

1

saveXML()返回一個字符串,而不是一個數組。 http://us3.php.net/manual/en/domdocument.savexml.php

它有你正在尋找的內容。確保您在源代碼視圖中查看字符串,而不是在瀏覽器窗口中查看。瀏覽器會將所有標籤解釋爲標籤而不顯示它們,就像它不顯示<p>和其他html標籤一樣。

另請注意,trim()不會刪除標籤之間的空白(如果存在),只能在字符串的開頭和結尾 - 不是字符串中的每一行。

+0

謝謝!用Firebug來看它,源代碼看起來正確。謝謝! – Elie

相關問題