我无法从XML文件中读取代码

时间:2012-10-03 19:19:18

标签: php xml xmldom

我已在xml文件中保存了javascript代码。 但是当我把它显示为空的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>

当我使用PHP DOMDocument获取标记content时,我发现它是空的, 当我检查页面源代码时,我发现它是空的,没有javascript存在。 虽然当我带来NameType等其他标记的值时,显示没有问题。 我毫不怀疑PHP代码。

2 个答案:

答案 0 :(得分:0)

您的XML无效。

您的JavaScript中的引号必须为&quot;,依此类推。如果您不想这样做,则必须将其包装在CDATA块中。

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

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

答案 1 :(得分:0)

解决方案是我们必须在所有javascript之前添加<![CDATA[,并在所有javascript之后添加]]>,如下所示:

<![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>