- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我正在尝试提供获取 JSON 或 XML 响应的选项。
JSON 工作正常,但当我查看 XML 时,出现错误。
http://lmsapi.com/?api_key=fba9e59d7af86b239e82581780ff987e&format=json http://lmsapi.com/?api_key=fba9e59d7af86b239e82581780ff987e&format=xml
我不确定出了什么问题。我已经搜索过,我唯一看到的是确保我没有任何额外的空格,甚至在我的元素名称中没有空格,我没有。
index.php
<?php
require_once('includes/inc.settings.php');
if(${'Response'}['format'] == 'json'){
print_r(${'Results'});
}elseif(${'Response'}['format'] == 'xml'){
header('Content-type: application/xml');
echo "<?xml version=\"1.0\"?>";
echo ${'Results'};
}
?>
inc.settings.php
<?php
// ****************************************
// Require other includes
// ****************************************
require('Excel/PHPExcel.php');
require('inc.variables.php');
require('inc.functions.php');
require('inc.browser.php');
require('class.phpmailer.php');
// ****************************************
// Initial page setup
// ****************************************
// Set our Error Handling
if($debug == true){
error_reporting(E_ALL);
ini_set('display_errors', 1);
} else {
error_reporting(E_ERROR);
ini_set('display_errors', 1);
}
// Set our timeout limit
set_time_limit(30);
// Set our memory limit
ini_set('memory_limit', '128M');
// Start our PHP session
session_start();
// Set our charset to UTF-8
mb_internal_encoding('UTF-8');
// Get our browser information
$browser = new Browser;
// ****************************************
// Connect to mySQL
// ****************************************
mysql_connect(MYSQL_HOST.':'.MYSQL_PORT, MYSQL_USER, MYSQL_PASS) or die('Could not establish a connection to the MySQL Engine.');
mysql_select_db(MYSQL_DB) or die('Could not locate the specified database');
// ****************************************
// Sanitize our possible api data
// ****************************************
if(isset($_GET['api_key'])) { ${'API KEY'} = inputCleanSQL($_GET['api_key']); } else { ${'API KEY'} = ''; }
if(isset($_GET['format'])){ ${'Format'} = inputCleanSQL($_GET['format']); } else { ${'Format'} = ''; }
if(isset($_GET['act'])){ ${'Action'} = inputCleanSQL($_GET['act']); } else { ${'Action'} = ''; }
if(isset($_GET['phone_numer'])){ ${'Phone Number'} = inputCleanSQL(removeCHARSphone($_GET['phone_number'])); } else { ${'Phone Number'} = ''; }
if(isset($_GET['limit'])){ ${'Limit'} = inputCleanSQL($_GET['limit']); } else { ${'Limit'} = ''; }
// ****************************************
// Begin the Response Array
// ****************************************
${'Response'} = array();
${'Response'}['status'] = '';
${'Response'}['reason'] = array();
${'Format Type'} = true;
// Check the API Key
if(isset(${'API KEY'})){
${'API Key Check'} = mysql_result(mysql_query('SELECT count(0) FROM `api`.`api_keys` WHERE `api_key` = "'.${'API KEY'}.'"'),0);
if(!${'API Key Check'}) {
${'Response'}['status'] = 'failed';
${'Response'}['reason'][] = 'invalid api key';
} else {
// Log the API hit
mysql_query('INSERT INTO `api`.`api_log` (`api_key`) VALUES ("'.${'API KEY'}.'")');
// Check the format request
if(${'Format'} != '' && ${'Format'} != 'json' && ${'Format'} != 'xml'){
${'Response'}['status'] = 'failed';
${'Response'}['reason'][] = 'invalid format specified (&format=)';
${'Format Type'} = false;
}
// Check the action request
if(${'Action'} != '' && ${'Action'} != 'get' && ${'Action'} != 'details'){
${'Response'}['status'] = 'failed';
${'Response'}['reason'][] = 'invalid action type (&act=)';
}
if(${'Response'}['status'] != 'failed'){
${'Response'}['status'] = 'success';
unset(${'Response'}['reason']);
}
}
} else {
${'Response'}['status'] = 'failed';
${'Response'}['reason'][] = 'api key required';
}
if(isset(${'Format'}) && ${'Format Type'}){
if(${'Format'} == 'json'){
${'Response'}['format'] = 'json';
${'Results'} = json_encode(${'Response'});
} elseif(${'Format'} == 'xml'){
${'Response'}['format'] = 'xml';
${'Results'} = arrayToXML(${'Response'});
}
} else {
${'Response'}['format'] = 'json';
${'Results'} = json_encode(${'Response'});
}
?>
如有任何帮助,我们将不胜感激!
最佳答案
XML 只能有一个“文档实体”或“根”,您正在尝试使用两个(status
和format
)。将两个元素包装在一个元素中,这样您的 XML 文档就只有一个根元素。
不好
<?xml version="1.0"?>
<status>success</status>
<format>xml</format>
好
<?xml version="1.0"?>
<response>
<status>success</status>
<format>xml</format>
</response>
关于php - XML 解析错误 - 文档末尾的额外内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16972737/
我正在更改链接网址以添加 www.site.com/index.html?s=234&dc=65828 我通过此代码得到的是:site.com/&dc=65828 var target="&dc=65
我在编译过程中收到错误: src/smtp.c:208:1: warning: control reaches end of non-void function [-Wreturn-type] 这是相
这是我的 bootstrap/html 代码: Put email 位置正确,但我希望输入字段的大小延伸到 div 末尾。谁能帮帮我? 最佳答案 只需按百分比指定宽度,如下所示
我正在尝试获取一个像这样的 json 对象: filters = {"filters": myArray}; 并将其附加到 URL 的末尾,使用: this.router.navigate([`/de
这个问题已经有答案了: Remove hash from url (5 个回答) 已关闭 10 年前。 我有一个网站,stepaheadresidents.com ,并且井号 (#) 会自动添加到 u
我有这个代码 $('container a').appendTo('.container'); dzedzdqdqdqzdqdzqdzqdqzdqd Forgot password
为了练习更多 Python 知识,我尝试了 pythonchallenge.com 上的挑战 简而言之,作为第一步,此挑战要求从末尾带有数字的 url 加载 html 页面。该页面包含一行文本,其中有
我对 FS2 很陌生,需要一些有关设计的帮助。我正在尝试设计一个流,它将从底层的 InputStream 中提取 block ,直到结束。这是我尝试过的: import java.io.{File,
我对 FS2 很陌生,需要一些有关设计的帮助。我正在尝试设计一个流,它将从底层的 InputStream 中提取 block ,直到结束。这是我尝试过的: import java.io.{File,
我正在编写一个 ajax 应用程序,并且在 php 脚本中有一个函数: public function expire_user() { $r=array("return"=>'OK');
我正在使用一个QListView,它包装了一个非常简单的列表模型。我想尝试实现类似于某些网页中看到的“无限滚动”的东西。 目前,模型通过最多添加 100 个项目的方法更新(它们取自外部 Web API
运行 cucumber 测试给我以下错误 end of file reached (EOFError) /usr/lib64/ruby/2.0.0/net/protocol.rb:153:in
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我想知道版本命名的具体作用是什么? 喜欢 jquery.js?ver=1.4.4 我的意思是如果我使用像这样的 cdn jquery/1.4.4/jquery.min.js?ver=1.4.4但是另一
" data-fancybox-group="gallery" title="">" alt="" /> 在此代码中 echo $prod['item_image_url'];打印存储在我的表中的图像
我目前使用 Wordpress 作为博客平台,但我想更改为使用 Jekyll 来生成静态页面。在 WordPress 上,我的 URL 使用以下格式: /年/月/日/标题 但我想将其重定向到 /年/月
根据docs这应该是不可能的 Regular expressions cannot be anchored to the beginning or end of a token 尽管如此,它似乎对我有
有没有办法创建 dijit 并将其附加到 div 的末尾?假设我有以下代码: Add Person 我在网上找到了以下代码,但这替换了我的“attendants”div: var personCo
我有这段代码: //execute post (the result will be something like {"result":1,"error":"","id":"4da775
我需要一些函数方面的帮助。 我想编写一个插入链表的函数。但不仅仅是中间,如果必须插入前端或末尾,它也必须起作用。 结构: typedef struct ranklist { i
我是一名优秀的程序员,十分优秀!