`

PHP在页面输出XML的方法.避免乱码.

    博客分类:
  • php
 
阅读更多
一般都是编码的问题了.

PHP输出XML到页面的方式3种,记录一下:
1:
<?php
header("Content-type: text/xml");
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>";
echo "<users>";
echo "<user>";
   echo "<name>";
    echo "小小菜鸟";
   echo "</name>";
   echo "<age>";
    echo "24";
   echo "</age>";
   echo "<sex>";
    echo "男";
   echo "</sex>";
echo "</user>";
echo "<user>";
   echo "<name>";
    echo "艳艳";
   echo "</name>";
   echo "<age>";
    echo "23";
   echo "</age>";
   echo "<sex>";
    echo "女";
   echo "</sex>";
echo "</user>";
echo "</users>";
?>

2:
<?php
header("Content-type: text/xml");
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>";
echo "<users><user><name>小小菜鸟</name><age>24</age><sex>男</sex></user><user><name>艳艳</name><age>23</age><sex>女</sex></user></users>";
?>

3:
<?php
/*
用PHP的DOM控件来创建XML输出
设置输出内容的类型为xml
*/
header('Content-Type: text/xml;');
//创建新的xml文件
$dom = new DOMDocument('1.0', 'utf-8');

//建立<response>元素
$response = $dom->createElement('response');
$dom->appendChild($response);

//建立<books>元素并将其作为<response>的子元素
$books = $dom->createElement('books');
$response->appendChild($books);

//为book创建标题
$title = $dom->createElement('title');
$titleText = $dom->createTextNode('PHP与AJAX');
$title->appendChild($titleText);

//为book创建isbn元素
$isbn = $dom->createElement('isbn');
$isbnText = $dom->createTextNode('1-21258986');
$isbn->appendChild($isbnText);

//创建book元素
$book = $dom->createElement('book');
$book->appendChild($title);
$book->appendChild($isbn);

//将<book>作为<books>子元素
$books->appendChild($book);

//在一字符串变量中建立XML结构
$xmlString = $dom->saveXML();

//输出XML字符串
echo $xmlString;

?>

分享到:
评论

相关推荐

    PHP 输出简单动态WAP页面

    如果目标设备主要支持UTF-8,那么在输出中文字符前,需要确保它们已经被转换为UNICODE编码,以避免乱码。在PHP中,这可以通过使用`iconv()`或`mb_convert_encoding()`等函数实现。而如果目标设备支持GB2312,只需在...

    网站开发中遇到UTF8出现乱码问题.pdf

    网站开发过程中,尤其是在进行国际化的过程中,常常会遇到UTF-8编码相关的乱码...同时,注意文件的BOM问题,避免因非预期的输出导致的乱码。在处理字符串时,正确地处理多字节字符,以确保中文等多语言内容能正确显示。

    php+Ajax(GET&POST)完美实例

    Ajax,全称Asynchronous JavaScript and XML,它允许JavaScript在不刷新整个页面的情况下与服务器进行异步通信。在JavaScript中,我们通常使用XMLHttpRequest对象来实现Ajax请求。`ajax.js`文件可能包含以下代码: ...

    google地图和php+mysql集合的例子(二).pdf

    `require("conn.php")`引入了连接数据库所需的配置文件,这里使用了GBK编码来处理中文字符,以避免乱码问题。`error_reporting(0)`关闭错误报告,这在生产环境中通常是必要的,以防止敏感信息泄露。`parseToXML`函数...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part2

    实例114 运用PHP 5.0新型字符串输出XML数据 145 实例115 判断字符串中是否存在指定子串 146 2.9 正则表达式 147 实例116 验证电话号码的格式是否正确 147 实例117 验证Email地址格式是否正确 148 实例118 验证IP地址...

    google地图和php+mysql集合的例子(二)[参考].pdf

    使用`mysql_query("set names 'GBK'")`来设置字符编码为GBK,确保中文数据能正确读取和处理,避免乱码问题。 3. **错误报告**: `error_reporting(0)`关闭错误报告,这在生产环境中是常见的做法,以防止敏感信息...

    PHP实例开发源码—PhpColor php多彩贴吧GBK.zip

    PHP在处理中文字符时,尤其是在读取、存储或者输出时,需要正确地识别和转换编码格式,以避免乱码问题。 在PHP中,处理GBK编码涉及到以下几个核心知识点: 1. **字符串编码转换**:PHP提供了`iconv`函数用于进行...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1

    实例114 运用PHP 5.0新型字符串输出XML数据 145 实例115 判断字符串中是否存在指定子串 146 2.9 正则表达式 147 实例116 验证电话号码的格式是否正确 147 实例117 验证Email地址格式是否正确 148 实例118 验证IP地址...

    php面试题目及答案

    实现中文字符串截取无乱码的方法** - 使用`mb_substr()`函数,这是一个多字节字符串函数,适用于处理UTF-8编码的中文字符串。 **10. 使用过的版本控制软件** - 示例:Git,是最常用的版本控制系统之一。 **11. ...

    最好最全的PHP面试题(带有答案)

    - 使用`mb_substr()`函数可以避免截取中文字符串时出现乱码的问题。例如: ```php function gb_substr($string, $start, $length) { if (strlen($string) &gt; $length) { $str = ''; $len = $start + $length; ...

    一个简单的HTML+PHP+MySQL的交互页面(输入框内容查询,HTML页面显示)

    PHP代码部分展示了如何连接MySQL数据库,如`mysqli_connect()`用于建立数据库连接,`mysqli_select_db()`用于选择数据库,`mysqli_set_charset()`用于设置字符编码,避免中文乱码。接着,SQL查询语句`SELECT * FROM ...

    PHP实现简单搜歌的方法

    7. **字符编码的处理:** 在头部设置中指定了内容的字符编码为gb2312,以确保在处理中文字符时页面能正确显示,避免乱码。 8. **异常情况的处理:** 如果搜索后没有找到数据,脚本会输出"Notfound",表明没有找到...

    fckeditor 在jsp的使用实例

    **FCKeditor在JSP中的应用详解** FCKeditor是一款非常流行的开源富文本编辑器,它...记住,确保字符编码的一致性是避免乱码的关键,而过滤用户输入则能有效防止安全问题。不断优化和调整配置,以适应项目的具体需求。

    php面试题

    - 使用`mb_substr()`函数替代`substr()`函数,以避免乱码问题。 #### 面试题2 1. **变量引用与赋值** - `$a`的值仍然是"hello",因为`unset($b)`只是删除了对`$a`的引用,并没有改变`$a`本身的值。 2. **引用...

    servlet编写、部署、运行全过程

    3. **处理字符编码**:在设置响应类型时,可以指定字符编码,以避免中文乱码问题。 4. **错误处理**:在处理请求时,通常需要添加适当的异常处理机制,以确保程序的健壮性。 #### 三、Servlet部署详解 部署...

    JSP课程java开发

    - 避免在Servlet中使用全局变量存储数据。 9. Session内置对象: - Session代表客户端与服务器的一次会话,随浏览器关闭而失效。 - 每个用户拥有独立的Session,用于多页面间数据共享。 10. JSTL标签使用: - ...

    解决了Ajax、MySQL 和 Zend Framework 的乱码问题

    首先,Ajax(Asynchronous JavaScript and XML)是用于创建动态网页的一种技术,它允许在不刷新整个页面的情况下与服务器进行交互。在发送GET请求时,URL中的参数可能会包含非ASCII字符,如中文。当这些字符未经正确...

    ajax php传递和接收变量实现思路及代码

    为了确保数据能够正确地传递和接收,还需要保证前端页面编码与PHP脚本的编码一致,特别是当页面上存在中文字符时,避免乱码问题。同时,前端JavaScript代码中发起AJAX请求时,也要注意数据编码的正确性,通常通过...

    php,ajax实现分页

    3. **数据库连接**:当使用AJAX发送POST请求到后台PHP页面时,需要重新建立数据库连接,因为之前可能的会话连接可能已经关闭或不再有效。不要假设先前的连接仍然可用。 4. **字符编码**:在PHP中,为了避免返回数据...

Global site tag (gtag.js) - Google Analytics