PHP生成xml 无法识别或是无法读取或是浏览器不识别等问题
PHP 数组转XML函数如下
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
<?phpfunction arrayToXml($arr,$dom=0,$item=0){ if (!$dom){ $dom = new DOMDocument("1.0"); } if(!$item){ $item = $dom->createElement("root"); $dom->appendChild($item); } foreach ($arr as $key=>$val){ $itemx = $dom->createElement(is_string($key)?$key:"item"); $item->appendChild($itemx); if (!is_array($val)){ $text = $dom->createTextNode($val); $itemx->appendChild($text); }else { arrayToXml($val,$dom,$itemx); } } return $dom->saveXML(); }//下面这句可以解决标题中提到的所有问题header('Content-Type:text/xml');$test = ['test'=>['test2'=>'test3']];echo(arrayToXml($test));?> |
header('Content-Type:text/xml');
这句话的意思是告诉浏览器接下来的内容 是xml.按xml的格式去解析..没毛病.
PHP生成xml 无法识别或是无法读取或是浏览器不识别等问题的更多相关文章
- 如何由XSD自动生成XML和实体类
项目中有时候要用XML作为数据源,因此需要定义XML文件和相应的类,最佳方法是首先定义XSD,然后自动生成实体类,最后生成XML和填充数据:读取XML数据源的时候,首先用XSD验证XML数据格式,然后 ...
- 使用Pull解析器生成XML文件和读取xml文件
有些时候,我们需要生成一个XML文件,生成XML文件的方法有很多,如:可以只使用一个StringBuilder组拼XML内容,然后把内容写入到文件中:或者使用DOM API生成XML文件,或者也可以使 ...
- java 解析并生成 XML
在 java 中使用 Dom4j 解析 XML 对 XML 文件的解析,通常使用的是 Dom4j 和 jdom 作为XML解析工具. 在此只介绍下 Dom4j 对 XML 文件的解析使用方法. 1. ...
- ADO.NET 快速入门(十二):从 SQL Server 生成 XML 数据
本文演示如何使用2种不同的方法从 SQL Server 生成 XML. 方法1:使用了 SqlCommand 的 ExecuteXmlReader 方法获取 XmlReader,然后使用 Data ...
- Android 下用 Pull 解析和生成 XML
Java 中是可以用 SAX 和 DOM 解析 XML 的,虽然在 Android 下也可以用这2中方式,但是还是推荐用 Pull.Pull 使用简单,效率相对高,Android 下是集成了 Pul ...
- SAX解析和生成XML文档
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本人声明.否则将追究法律责任. 作者: 永恒の_☆ 地址: http://blog.csdn.net/chenghui031 ...
- Java之JDOM生成XML和解析
一.生成XML文件 1.JDOM是对Java原始的类进行了封装.让解析XML文件变得很方便 2.创建一个XML文件的根节点: Element root = new Element("HD&q ...
- DOM生成XML文件
/** * 从数据库读取学生信息的数据集合,然后Dom创建数据树,再转成XML格式数据,输出生成xml文件 * @author pikaqiu * */ public class TestGenXml ...
- python 解析与生成xml
xml.etree.ElementTree模块为xml文件的提取和建立提供了简单有效的API.下文中使用ET来代表xml.etree.ElementTree模块. XML是一种内在的分层的数据形式,展 ...
随机推荐
- java基础解析系列(九)---String不可变性分析
java基础解析系列(九)---String不可变性分析 目录 java基础解析系列(一)---String.StringBuffer.StringBuilder java基础解析系列(二)---In ...
- 两个HTML地址栏传中文参数乱码
这个不叫乱码,我非专业.这个是url编码,js本身就是读取url编码的.对于js获取url的中文你可以尝试用escape() encodeURI() encodeURIComponent() deco ...
- java中的缓冲流BufferedWriter和BufferedReader
java中的缓冲流有BufferedWriter和BufferedReader 在java api 手册中这样说缓冲流: 从字符输入流中读取文本,缓冲各个字符,从而实现字符.数组和行的高效读取.可以指 ...
- 利用win10自带的系统配置禁止开机启动项和程序
一.利用win10自带的系统配置禁止开机启动项和程序 首先打开"运行"对话框,可以通过开始菜单打开运行,也可以按下快捷键WIN+R打开"运行".如下图. ...
- Linq Take和Skip详解
Take()方法的作用就是:从查询结果中提取前n个结果. Skip()方法正好是Take()方法的反面,它可以跳过前n个结果,返回剩余的结果. 例如:查找年龄最大的3个人 表Student的数据是 N ...
- SVG绘制loading效果
<div class="loading"> <svg width='40px' height='40px' xmlns="http://www.w3.o ...
- replace 使用函数作为第二参数
var sToChange = “The sky is red.”;var reRed = /red/;var sResultText = sToChange.replace(reRed, funct ...
- Servlet的理解
一.什么是Servlet? Servlet是用Java编写的web组件,实际上可以简单的理解为是用来处理请求的,为什么这么说,看了它的生命周期就知道了. 二.常见的Servlet容器 4容器顾名思义是 ...
- 你有什么理由还不选择阿里云服务器呢--从阿里云发布自研商用关系型数据库POLARDB想到的
最近几天,阿里云发布自研商用关系型数据库POLARDB的消息可谓是重磅炸弹啊.借用官方宣传的话就是:6倍性能于MySQL并100%兼容/100TB存储容量/2分钟创建只读副本/3分钟创建容灾实例,第三 ...
- C# 扩展方法使用
为指定类型扩展方法: 定义类Class1: public static class Class1 //必须为static类,且不能包含 ...