- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
5.2(在我的 Web 服务器上使用 5.2.17,在本地主机上使用 5.3.6),设置如下: output_buffering = On output_handler = -6ren">
我使用 PHP 版本 > 5.2(在我的 Web 服务器上使用 5.2.17,在本地主机上使用 5.3.6),设置如下:
output_buffering = On
output_handler = ob_gzhandler
在下面的 PHP 脚本中,我输出一个 XML 响应以与 jQuery/AJAX 一起使用
if (empty($_GET))
{
$Response = new Response('getlanguage');
$Response->DisplayLanguage(LanguagesManager::GetLanguage());
die();
}
IOManager::InputSanitizeRequest($_GET);
$Language = isset($_GET['language']) ? $_GET['language'] : '';
$Response = new Response('setlanguage');
if (LanguagesManager::ValidateLanguage($Language))
{
LanguagesManager::SetLanguage($Language);
$Response->DisplayResult(true);
}
else
$Response->DisplayResult(false);
但是我的 jQuery/AJAX 函数不工作,如果我尝试手动检查我的 PHP 脚本的输出,我会在 Mozilla Firefox 上收到以下错误:
XML Parsing Error: XML or text declaration not at the start of entity
Address: http://127.0.0.1/responses/requestlanguage.php?language=it
Line Number 1, Column 2: <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-^
这是由 XML 声明前的尾随空格引起的:
" <?xml version="1.0" encoding="UTF-8" standalone="yes"?>"
我检查了我的 PHP 标签,一切正常。在稍微弄乱我的代码之后,我发现了一些不可思议的事情:空格是由这个函数创建的:
LanguagesManager::ValidateLanguage($Language)
public static function ValidateLanguage($Language)
{
return in_array($Language, self::GetSupportedLanguages());
}
如果我注释整个 if 语句,或者如果我用一个简单的“true”替换那个函数,我就不会再收到解析错误了……好吧,我简直不敢相信。有人可以向我解释为什么吗?有人知道解决方案吗?
最佳答案
如果你没有发现错误,你可以尝试用输出缓冲来捕获空间,像这样:
ob_start();
// here the code part, which seems to print the whitespace (but nothing else)
$langValidated = LanguagesManager::ValidateLanguage($Language);
ob_end_clean();
if ($langValidated)
{
LanguagesManager::SetLanguage($Language);
$Response->DisplayResult(true);
}
else
$Response->DisplayResult(false);
关于PHP 的 XML 输出错误 : "XML or text declaration not at the start of entity",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6332135/
我有一个模板类 展览.h: template class ExpOf{ ... } 我在整个代码中反复使用,例如T = double [和其他类ExpOf应该一无所知]。 所以我认为一次性编译它是个
如果你有一个名为“Rock”的类,你会做类似的事情:- int main() { Rock; } 为什么会出现“声明未声明任何内容”错误? 它不应该只是调用默认构造函数并在那一刻创建对象吗?
这是一个非常业余的问题,我确信这将是一个非常简单的答案,但我似乎无法弄清楚问题所在。我有一个带有相应 .cpp 文件的头文件,但出于某种原因,每当我尝试使用 g++ 进行编译时,我都会收到错误消息:
我正在使用 MinGW 将我的 Linux 项目转换为在 Windows 上编译。它在 Linux 上编译和运行都很好,但是当我尝试用 MinGW 编译它时,它会出现以下错误消息: camera.h:
我收到“decleration does not declare anything [-fpermissive] 错误”;这是我的代码; #ifndef CAMERA_H #define CAMERA
我正在编写一些 cython 代码,但遇到了一个奇怪的问题。当我尝试将对象作为结构直接从 python 传递到 C 时,cython 生成的代码很好,但 gcc 不喜欢代码输出并给我以下错误:erro
typedef struct BO2Offsets { struct Prestige { u32 offset = 0x000000; char da
我不明白 C++ 中的某些东西,gcc 不喜欢我如何进行。 我做到了: if (!fModeMdi) MyFirstClass* main = (MyFirstClas
在 switch-case 语句中,declaration-with-initialization 是无效的,但允许 declaration-and-then-assignment。如以下代码片段所示
我在我的界面文件中收到一条奇怪的警告。 这也出现在我为此声明属性的那一行。 谁能帮帮我? 最佳答案 在您的项目中的某处,您有一个 #define 将 xOffset 定义为空(除了注释)。像这样: #
declare +x 下面做了什么? (特定于 Bash。)我理解 declare -x,但不理解 declare +x: function the_func { declare +x MY_VA
由于我是 Symfony 的新手,我尝试使用 Doctrine 创建实体关系。我收到错误 “[bundle/entity/file_location”中的属性“report”已经声明,但在我尝试更新架
关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 2年前关闭。 Imp
这是给我错误的代码: TAdvSmoothDockItems = class(TCollection) private FOwner: TAdvSmoothDock; FOnChange: T
我对 python 很陌生,我尝试制作一个简单的 GUI 程序。但是,我遇到了一个“问题”,确切地说是一个警告,上面写着:“m”未在全局范围内定义(Python(变量未定义全局))。 我知道如果你想在
当我用 GCC 编译程序时,它会显示“警告:声明未声明任何内容 [-fpermissive]”。 有问题的代码如下: typedef int BOOL; 如何清除警告? 最佳答案 您可以尝试以下操作。
我正在编写一个包含键值对集合的重要类,在编译期间我收到一个我无法弄清楚的非常奇怪的错误。在一个与这里的函数非常相似的函数中,但由于所需代码的复杂性而没有上下文,我收到错误: TValue& opera
这个问题很简单。为了进一步阐明,下面代码中的 Foo1 和 Foo2 在它们的声明方式方面到底有什么区别(例如,使用 class Foo1 { 。 .. }; 而另一个使用 typedef class
我正在开发 Web 项目,并且在从 Oracle 数据库迁移到 mysql 数据库时遇到一些问题。我想用这段代码创建函数: DROP FUNCTION IF EXISTS F_MANIFEST_GAB
是否有一个标志可以传递给 gcc 以禁用此警告?我知道它的作用,但这对我的程序来说无关紧要。 编辑:我只想禁用警告,保持代码不变。编译以下代码会生成警告: struct post{ unsigne
我是一名优秀的程序员,十分优秀!