不允许匹配“[xX][mM][lL]”的处理指令目标[重复]
Posted
技术标签:
【中文标题】不允许匹配“[xX][mM][lL]”的处理指令目标[重复]【英文标题】:The processing instruction target matching "[xX][mM][lL]" is not allowed [duplicate] 【发布时间】:2011-12-17 20:58:00 【问题描述】:我在 Cakephp 中输出 XML。但是当我将 XML 放入验证器时出现此错误:
The processing instruction target matching "[xX][mM][lL]" is not allowed.
我使用正确的 XML 布局,顶部是 <?php echo $this->Xml->header(); ?>
,然后是 <?php echo $content_for_layout; ?>
我的结果是:
<?xml version="1.0" encoding="UTF-8" ?><response type='' outcome='true' message='Login successful!'>
<user id='1234' total_number_of_completed_tasks='0' total_number_of_declined_tasks='0' total_number_of_passed_tasks='1' total_number_of_failed_tasks='1' reputation_points='99' deviant_points='0' />
<tasks>
<accepted>
<accepted_task id='4' type='Good' time_limit='500' details='Good accepted' />
<accepted_task id='5' type='OK' time_limit='660' details='Ok New task' />
<accepted_task id='9' type='Excellent' time_limit='2000' details='Great failed task' />
<accepted_task id='11' type='Your type' time_limit='222' details='Running and swimming all the way to Japan' />
<accepted_task id='7' type='Man' time_limit='744' details='My dirty task' />
</accepted>
<pending>
<pending_task id='8' type='Women' time_limit='5151' details='Women new task' sender_id='11111' sent_date='2031-01-01 00:00:00' sender_name='Jae Choi' />
</pending>
<completed>
</completed>
<new>
<new_task id='5' type='OK' time_limit='660' details='Ok New task' />
<new_task id='8' type='Women' time_limit='5151' details='Women new task' />
<new_task id='4' type='Good' time_limit='500' details='Good accepted' />
<new_task id='10' type='Hello' time_limit='122' details='What is this?' />
<new_task id='3' type='Best' time_limit='880' details='Stop doing work!' />
<new_task id='11' type='Your type' time_limit='222' details='Running and swimming all the way to Japan' />
<new_task id='6' type='Great' time_limit='553' details='Great accepted task' />
<new_task id='7' type='Man' time_limit='744' details='My dirty task' />
<new_task id='9' type='Excellent' time_limit='2000' details='Great failed task' />
</new>
</tasks>
</response>
这有什么问题吗?
【问题讨论】:
您是否检查过生成的 XML 开头没有任何空格? 【参考方案1】:marmalad 和 El Boletaire Underave 是正确的,您不能从空格开始,但这还不是全部。根据the XML spec 的说法,在 XML 序言之前你什么都没有。
由于您使用的是 XML 声明,因此您的文件必须以
开头<?xml version="1.0" ...
在某些情况下,the byte order mark (BOM) 等非打印字符会占用文件的前几个字节,从而导致问题。
对于更具体的 CakePHP 问题,请检查您的文件开头或结尾处没有杂散的空白行/空格(即在您的 ?>
之后或在您的 <?php
之前)。
【讨论】:
【参考方案2】:作为El Boletaire Underave said,检查生成的XML是否在开头没有任何空格。 这对我的 xml 有帮助。
【讨论】:
【参考方案3】:检查您的 XML 文件,它可能以空格开头。如果您的 XML 文件以空格开头,则会抛出这种类型的异常。
【讨论】:
【参考方案4】:在<?xml ?>
tag 之前你不应该有任何空格。
这个标签应该在第一行。
这对我有用
【讨论】:
以上是关于不允许匹配“[xX][mM][lL]”的处理指令目标[重复]的主要内容,如果未能解决你的问题,请参考以下文章
Maven 发布插件:不允许匹配“[xX][mM][lL]”的处理指令目标
“[致命错误]:1:120:不允许匹配“[xX][mM][lL]”的处理指令目标。” [复制]
配置文件报错:不允许有匹配 [xX][mM][lL] 的处理指令目标。