在PHP xmlparser中,为什么我无法从我的character_data_handler()存储全局?
问题描述:
(或下面是代码要领:在PHP xmlparser中,为什么我无法从我的character_data_handler()存储全局?
$host = "";
...
xml_set_character_data_handler($xmlparser, "tagContents");
...
function tagContents($parser, $data) {
global $current;
global $host;
if ($current == "HOST") {
$host = $data; // Trying to store a global here
}
if ($current == "PATH") {
echo $host.$data; // But its null when I get here. WHY??
}
}
我想追加举办这样创建一个在线URL路径,因为XMLPARSE把一个换行符后每个回波如此交替,如果任何人。能告诉我如何防止换行,这将解决我的问题太
顺便说一句:
- 我也试过同样的结果 引用超级全局$ GLOBALS [“主机”]
- 我只有使用PHP4从我的主机服务器(otherwise I'd use SimpleXML)
感谢, 鲍勃
答
尝试使用超全局变量$ GLOBALS [ '主机']它的速度更快呢。这里是你的固定代码
$host = "";
...
xml_set_character_data_handler($xmlparser, "tagContents");
...
function tagContents($parser, $data)
{
global $current;
if ($current == "HOST") {
$GLOBALS['host'] = $data; // Trying to store a global here
}
if ($current == "PATH") {
echo $GLOBALS['host'].$data;
}
}
谢谢你,但我曾试过,也有同样的结果。 – 2010-03-03 03:30:23