我正在迭代一组SimpleXML对象,我无法弄清楚如何访问每个对象的父节点.这就是我想要的:
$divs = simplexml->xpath("//div");
foreach ($divs as $div)
{
$parent_div = $div->get_parent_node(); // Sadly, there's no such function.
}
Run Code Online (Sandbox Code Playgroud)
似乎必须有一个相当简单的方法来做到这一点.
我有一个Flask应用程序,我正在尝试使用Gunicorn和nginx进行部署.但是,虽然它在本地工作正常,但是当我在远程服务器上运行Gunicorn时会抛出TemplateNotFound错误.
我不确定如何开始调试这个,更不用说为什么它会失败...如果不是后者,我会喜欢前者的帮助.我想也许这是一个权限问题,所以chmod将模板文件夹改为777 ...没有运气.以下是所有相关细节:
从裸Ubuntu 10.04安装开始,我运行它来设置服务器并提取我的代码:https://github.com/total-impact/total-impact-deploy/blob/master/deploy.sh.然后我把这个nginx配置文件放在/ etc/nginx/sites-available/total-impact:
server {
location / {
proxy_pass http://127.0.0.1:8000;
}
}
Run Code Online (Sandbox Code Playgroud)
最后,我浏览app目录并运行gunicorn web:app,然后点击服务器的IP地址.这会在浏览器中生成500,并在命令行上输出:
root@jc:/home/ti/total-impact-webapp/totalimpactwebapp# gunicorn web:app2012-05-28 23:15:06 [15313] [INFO] Starting gunicorn 0.14.3
2012-05-28 23:15:06 [15313] [INFO] Listening at: http://127.0.0.1:8000 (15313)
2012-05-28 23:15:06 [15313] [INFO] Using worker: sync
2012-05-28 23:15:06 [15316] [INFO] Booting worker with pid: 15316
2012-05-28 23:15:12,274 - totalimpactwebapp.core - ERROR - Exception on / [GET]
Traceback (most recent call last):
File "/usr/local/lib/python2.6/dist-packages/flask/app.py", line 1292, in wsgi_app …Run Code Online (Sandbox Code Playgroud) 我从CouchDB数据库中获得了一组完全不同的复杂JSON对象.每个都包含许多级别的嵌套属性 - 例如,
tps_report.personnel_info.productivity.units_sold = 8
Run Code Online (Sandbox Code Playgroud)
我想迭代这些对象并用它们做些事情:例如,
// writes units sold from each TPS report:
for (i in tpsReports) {
if (tpsReports[i].personnel_info.productivity.units_sold < 10) {
fireEmployee();
}
}
Run Code Online (Sandbox Code Playgroud)
问题是许多TPS报告没有设置所有这些属性.因此,如果我尝试这个,我将在第一次循环到达没有"personnel_info"属性的报告时出现错误,从而尝试找到"未定义"的"生产力"属性.我宁愿发生的是条件只是跳过它并继续.
我看到了两种方法,这两种方式对我来说都很难看
我更喜欢的是PHP的isset()函数,它不会抛出错误,无论你提供什么 - 它只会告诉你你正在寻找的特定变量是否存在.所以,就像
// writes units sold from each TPS report:
for (i in tpsReports) {
if (isset(tpsReports[i].personnel_info.productivity.units_sold)){
if (tpsReports[i].personnel_info.productivity.units_sold < 10) {
fireEmployee();
}
}
}
Run Code Online (Sandbox Code Playgroud)
有什么想法吗?
flask ×1
graph ×1
gunicorn ×1
installation ×1
javascript ×1
nginx ×1
object ×1
php ×1
properties ×1
python ×1
simplexml ×1
xml ×1
xpath ×1