zoukankan      html  css  js  c++  java
  • PHP处理XML文档,没有CDATA部分数据处理

      在博客备份时,导出了所有文章,导出是xml文档,文章内容在CDATA部分。

      这里介绍下XML中CDATA:

      所有 XML 文档中的文本均会被解析器解析。只有 CDATA 区段(CDATA section)中的文本会被解析器忽略。

      术语 CDATA 指的是不应由 XML 解析器进行解析的文本数据(Unparsed Character Data)。在 XML 元素中,"<" 和 "&" 是非法的。
      "<" 会产生错误,因为解析器会把该字符解释为新元素的开始。 "&" 也会产生错误,因为解析器会把该字符解释为字符实体的开始。
      某些文本,比如 JavaScript 代码,包含大量 "<" 或 "&" 字符。为了避免错误,可以将脚本代码定义为 CDATA。
      CDATA 部分由 "<![CDATA[" 开始,由 "]]>" 结束。

      XML格式如下:

    <description><![CDATA[<p> Laravel框架中间件使用</p> ]]></description>
    <description><![CDATA[<p> 浮点数乘积以后取整,得到的数不符预期</p>]]></description>

       在用PHP处理函数  simplexml_load_file,处理该文档时,默认不包含CDATA数据部分。

      

    <?php
    
    $filename = 'xx';
    
    $xml = simplexml_load_file($filename);// 无CDATA数据
    
    
    $xml = simplexml_load_file($filename, null, LIBXML_NOCDATA);// 第三个参数即可

      

  • 相关阅读:
    快速幂&欧拉降幂
    欧拉函数
    素数打表-筛法
    多源最短路径问题(Floyd算法)
    蓝桥杯-本质上升序列
    蓝桥杯-玩具蛇
    SDUT-计算机组成原理
    取消U盘和移动硬盘的GPT保护分区
    Windows 10 上运行 photoshop 等软件出现 loadlibrary failed with error 87 的解决方法!
    做题笔记
  • 原文地址:https://www.cnblogs.com/firstForEver/p/8158171.html
Copyright © 2011-2022 走看看