2012-10-03 22 views
0

我已將javascript代碼保存在xml文件中。 但當我得到它顯示爲空的XML標記。我無法從XML文件讀取代碼

XML代碼

<ad> 
    <Name> Ad 1 </Name> 
    <place> 1 </place> 
    <Type> code </Type> 
    <content> 
    <script type="text/javascript"> 
     <!-- 
     google_ad_client = "pub-*********"; 
     /* 160x600, 28/08/09 */ 
     google_ad_slot = "*********"; 
     google_ad_width = 160; 
     google_ad_height = 600; 
     //--> 
    </script> 
    <script type="text/javascript" 
     src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> 
    </script> 
    </content> 
</ad> 

當我拿到標籤content使用PHP的DOMDocument我覺得很空, 當我檢查了網頁源代碼,我發現它的JavaScript存在空沒有。 雖然當我帶來像NameType等其他標籤的值時,顯示沒有問題。 我毫不懷疑在PHP代碼中。

回答

0

您的XML無效。

行情必須&quot;等等,在你的JavaScript。如果你不想這樣做,它必須包裝在一個CDATA塊中。

<script> 
<![CDATA[ 
    ...code... 
]]> 
</script> 

https://stackoverflow.com/a/66900/362536

+0

謝謝,我在頁面的源代碼中找到這部分代碼只有'<! - google_ad_client =「pub - ********」; /* 160x600,08/08/09 */ google_ad_slot =「********」; google_ad_width = 160; google_ad_height = 600; // - >'但其餘的代碼不會出現 –

+0

@LionKing,我不知道你在問什麼。你說你在解析XML時遇到了麻煩。我解釋了爲什麼。 – Brad

+0

謝謝,問題已解決 –

0

解決方案,是我們必須經過所有的JavaScript之前所有的JavaScript和]]>添加<![CDATA[類似如下:

<![CDATA[ 
    <script type="text/javascript"> 
    <!-- 
    google_ad_client = "pub-***********"; 
    /* 160x600, 28/08/09 */ 
    google_ad_slot = "-***********""; 
    google_ad_width = 160; 
    google_ad_height = 600; 
    //-->   
    </script> 
    <script type="text/javascript" 
    src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> 
    </script> 
]]> 

最終形式是以下幾點:

<ad> 
    <Name> Ad 1 </Name> 
    <place> 1 </place> 
    <Type> code </Type> 
    <content> 
    <![CDATA[ 
    <script type="text/javascript"> 
     <!-- 
     google_ad_client = "pub-*********"; 
     /* 160x600, 28/08/09 */ 
     google_ad_slot = "*********"; 
     google_ad_width = 160; 
     google_ad_height = 600; 
     //--> 
    </script> 
    <script type="text/javascript" 
     src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> 
    </script> 
    ]]> 
    </content> 
</ad>