PHP處理XML文檔,沒有CDATA部分數據處理

  在博客備份時,導出了全部文章,導出是xml文檔,文章內容在CDATA部分。php

  這裏介紹下XML中CDATA:框架

  全部 XML 文檔中的文本均會被解析器解析。只有 CDATA 區段(CDATA section)中的文本會被解析器忽略。函數

  術語 CDATA 指的是不該由 XML 解析器進行解析的文本數據(Unparsed Character Data)。在 XML 元素中,"<" 和 "&" 是非法的。
  "<" 會產生錯誤,由於解析器會把該字符解釋爲新元素的開始。 "&" 也會產生錯誤,由於解析器會把該字符解釋爲字符實體的開始。
  某些文本,好比 JavaScript 代碼,包含大量 "<" 或 "&" 字符。爲了不錯誤,能夠將腳本代碼定義爲 CDATA。
  CDATA 部分由 "<![CDATA[" 開始,由 "]]>" 結束。spa

  XML格式以下:code

<description><![CDATA[<p> Laravel框架中間件使用</p> ]]></description>
<description><![CDATA[<p> 浮點數乘積之後取整,獲得的數不符預期</p>]]></description>

   在用PHP處理函數  simplexml_load_file,處理該文檔時,默認不包含CDATA數據部分。xml

  

<?php

$filename = 'xx';

$xml = simplexml_load_file($filename);// 無CDATA數據


$xml = simplexml_load_file($filename, null, LIBXML_NOCDATA);// 第三個參數便可
相關文章
相關標籤/搜索