【发布时间】:2021-07-29 09:09:59
【问题描述】:
我在一个类中使用 Simplexml 将我的 xml 的适当节点加载到 html 中。
<?xml version="1.0" encoding="UTF-8"?>
<note>
<item>
<title>Reminder</title>
</item>
<item>
<title>Work</title>
</item>
<item>
<title>Play</title>
</item>
<item>
<title>Cycling</title>
</item>
</note>
<?php
class myxmlclass {
private $nodeno;
private $currenttitle;
private $myno;
//Load xml
function loadxm() {
$filename = 'xmlfile.xml';
if(file_exists($filename)){
$selxml=simplexml_load_file("xmlfile.xml", 'SimpleXMLElement', LIBXML_NOCDATA ) or die("Error: Cannot load xml");
htmlspecialchars($selxml);
return $selxml;
}
}
}
页面加载时,根据设置为变量$myno的动态数字选择项目:
$currentnode = $selxml->item[(int) $myno];
$currenttitle = $currentnode->title;
这在会话开始时效果很好,但是当我通过 ajax 调用访问下一个和上一个项目时,xml 会重新加载。我怎样才能防止这种情况发生?如何让 xml 在会话中只加载一次?
【问题讨论】:
-
也许是个愚蠢的问题……但是如何在会话中存储 $selxml 并在 ajax 期间检查该 var。如果存在则使用否则运行 loadxml ()
标签: php html ajax xml simplexml