在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;  
    } 
} 
+0

谢谢你,但我曾试过,也有同样的结果。 – 2010-03-03 03:30:23