CI输出wml失败
看提示好像第一行有一个空格。但不知道怎么产生的XML 解析失败
XML 解析失败: 语法错误 (行号: 1, 字符: 1)
将文档重解析为 HTML
错误:
XML declaration not at beginning of document
规范:
http://www.w3.org/TR/REC-xml/
1:<?xml version="1.0"encoding="utf-8"?><!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"><wml> <card> <p>20100422</wml>
控制器
<?php
class Test extends Controller{
function __construct(){
parent::Controller();
}
function index(){
header("Content-type: text/vnd.wap.wml; charset=UTF8");
$params['data'] = '20100422';
$this->load->view('header');
$this->load->view("test",$params);
$this->load->view('footer');
}
}
?>
视图:header.php
<?php
echo "<?xml version=\"1.0\"encoding=\"utf-8\"?><!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.1//EN\" \"http://www.wapforum.org/DTD/wml_1.1.xml\">";
echo ("<wml> <card> <p>");
?>
footer.php
<?php
echo "</wml>";
?> 本帖最后由 ihymk 于 2010-5-20 16:36 编辑
用output->set_header设置头信息,或者直接header。
CI内部编码大部分是无编码类型,不能很明确的告诉客户端要接受的编码为utf-8,所以,这个地方容易出问题,你需要告诉浏览器,你的编码类型为utf8模式,这要在浏览器接受正文信息直接处理。所以,你需要通过header或者CI内置set_header处理这个操作。 我想我用了header了 用的KNDB session.CI1.7.2下面代码也是报错。好心人帮忙看下问题啊
<?php
class User extends Controller{
function index(){
$this->output->set_header("Content-type: text/vnd.wap.wml; charset=gb2312");
$this->load->database();
$this->load->library("session");
$this->session->set_userdata("name","user1");
echo "<?xml version=\"1.0\"encoding=\"gb2312\"?><!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.1//EN\" \"http://www.wapforum.org/DTD/wml_1.1.xml\">";
echo ("<wml>");
echo "<card>";
echo "<a href='user/login'>登录</a>";
echo "</card></wml>";
}
}
?>
用opera浏览报错
XML 解析失败
XML 解析失败: 语法错误 (行号: 1, 字符: 1)
将文档重解析为 HTML
错误:
XML declaration not at beginning of document
规范:
http://www.w3.org/TR/REC-xml/
1:<?xml version="1.0"encoding="gb2312"?><!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"><wml><card><a href='user/login'>登录</a></card></wml> 是CI的问题吗? <?php header("Content-type: text/vnd.wap.wml"); ?>
<?php echo '<?xml version="1.0" encoding="utf-8"?>'; ?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head>
<mate http-equiv="Cache-control" />
</head>
<card id="main" title="hello world">
<p align="center">
this is test!
</p>
</card>
</wml>
页:
[1]