PHP处理XML文档,没有CDATA部分数据处理
2017-12-31 17:21
477 查看
在博客备份时,导出了所有文章,导出是xml文档,文章内容在CDATA部分。
这里介绍下XML中CDATA:
所有 XML 文档中的文本均会被解析器解析。只有 CDATA 区段(CDATA section)中的文本会被解析器忽略。
术语 CDATA 指的是不应由 XML 解析器进行解析的文本数据(Unparsed Character Data)。在 XML 元素中,"<" 和 "&" 是非法的。
"<" 会产生错误,因为解析器会把该字符解释为新元素的开始。 "&" 也会产生错误,因为解析器会把该字符解释为字符实体的开始。
某些文本,比如 JavaScript 代码,包含大量 "<" 或 "&" 字符。为了避免错误,可以将脚本代码定义为 CDATA。
CDATA 部分由 "<![CDATA[" 开始,由 "]]>" 结束。
XML格式如下:
在用PHP处理函数 simplexml_load_file,处理该文档时,默认不包含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);// 第三个参数即可
相关文章推荐
- php 获取xml接口数据的处理
- [转]php使用DOM处理xml文档
- Flash处理外部XML文档数据详细教程
- php使用DOM处理xml文档
- php中处理xml的文档方法
- 使用XMLBeans处理XML数据和文档入门
- php处理XML数据
- Flash处理XML文档数据教程
- 在SSIS中使用XML任务处理XML数据或文档
- 在SSIS中使用XML任务处理XML数据或文档
- php处理复杂xml数据示例
- PHP读取XML数据中CDATA内数值
- php处理xml文档的解析函数
- 完整简洁 Flash 处理XML 文档数据 教程 下篇
- 从xml文件中获取相关数据,解决xml中部分数据没有结束的问题
- php用curl模拟提交XML数据,接收处理
- php 获取xml接口数据的处理方法
- php页面报错 XML 分析失败: 在文档元素之后写入废数据
- [FLASH IDE] [教程]Flash处理外部XML文档数据详细教程[ASP,JSP]
- php读取xml中cdata部分方法