2013-05-13 65 views
0

我使用API​​從數據庫提取數據; API將數據返回到XML文件。使用JS或PHP從XML中提取複雜的URL

我可以使用PHP(file_get_contents()和file_put_contents())將API返回到我的服務器上的XML文件中。對於幾乎所有的字段,我都能夠解析我創建的XML文件,並使用PHP或JavaScript(即,我都成功完成)來處理它。

我需要調用的一個字段值是一個自動下載圖像文件的複雜URL。我可以使用API​​調用該字段,並將其與其餘字段一起放入XML文件中。

但是,PHP解析器(simplexml_load_file())或Javascript解析器(XMLHttpRequest())都無法讀取具有複雜URL字段的XML文件。我知道我有解析的編寫代碼,因爲就像我說的,我可以用這些解析器成功地操作任何其他字段。

我怎樣才能在這個機構的照片字段?

<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
<results count="4"> 
     <row id="14" created="2013-04-07 21:43:59" updated="2013-05-05 19:12:21"> 
      <agencyPhoto>https://fw.civicore.com/vtmentoring/index.php?downloadFile=1&table=agencies&field=agencyPhoto&check=969ac322f0347d4358bd3a7852b7b282&key=14</agencyPhoto> 
     </row> 
</results> 

回答

1

您的XML看起來不正確。該URL包含非法字符&。他們應該逃到&amp;或者放入CDATA。首先在繼續之前修復此問題

因此,無論

<agencyPhoto>https://fw.civicore.com/vtmentoring/index.php?downloadFile=1&amp;table=agencies&amp;field=agencyPhoto&amp;check=969ac322f0347d4358bd3a7852b7b282&amp;key=14</agencyPhoto> 

<agencyPhoto><![CDATA[https://fw.civicore.com/vtmentoring/index.php?downloadFile=1&table=agencies&field=agencyPhoto&check=969ac322f0347d4358bd3a7852b7b282&key=14]]></agencyPhoto> 
+0

謝謝!巨大的幫助! – 2013-05-14 03:47:52

+0

@DavidCyprian不要忘記標記答案 – 2013-05-16 13:49:17

1

這也許是符號(&)。嘗試將它們替換爲&amp;

<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
    <results count="4"> 
    <row id="14" created="2013-04-07 21:43:59" updated="2013-05-05 19:12:21"> 
     <agencyPhoto>https://fw.civicore.com/vtmentoring/index.php?downloadFile=1&amp;table=agencies&amp;field=agencyPhoto&amp;check=969ac322f0347d4358bd3a7852b7b282&amp;key=14 
</agencyPhoto> 
    </row> 
</results> 
+0

非常感謝!很有用。 – 2013-05-14 03:49:23