2011-12-08 75 views
1

我不确定发生了什么。我有这样的代码:PHP readInnerXML返回空白字符串

`case (XMLREADER::ELEMENT): 
$node_type = $reader->nodeType; 

$node_name = $reader->name; 

    if ($node_name == "gs_relay_rpc"){//I need this to work now 

    $node_value = $reader->readInnerXML(); 

    get_xml_data("<gs_relay > ".$node_value."</gs_relay>"); 

    include($rpc_folder.$node_name.".php"); 
    }` 

这显然是switch语句的一部分,它的工作原理完美。然后,我有这样的代码:

`case (XMLREADER::ELEMENT): 
$node_type = $reader->nodeType; 
echo $node_type."->"; 
$node_name = $reader->name; 

    if ($node_name == "itp_exchange_rpc"){ 
    echo $node_name." = "; 
    $reader->read(); 

    $node_value = $reader->readInnerXML(); 
    get_xml_data("<test > ".$node_value."</test>"); 

    } else { 
    echo $node_name." = "; 
    $reader->read(); 
    $node_value = $reader->value; 
    echo $node_value."<br>"; 
    }` 

这实际上第一个块的翻版,但与readInnerXML()返回空白此第二块。 xml块是有效的,因为它被解析。我的问题是,我需要递归它,但我不能,因为该函数返回空白。

的XML: <itp_exchange_rpc > <itp_floor > <itp_floor_name > [email protected]</itp_floor_name> </itp_floor></itp_exchange_rpc>

+0

任何人都可以帮助摆脱一些光 – Thaps

+0

是否有一个更可靠的方法,然后readInnerXML让我嵌套的xml块? – Thaps

+0

错误信息:警告:XMLReader :: XML()[xmlreader.xml]:作为输入提供的空字符串在...' – Thaps

回答

0

原来神击打我。早上的一次车祸让我看到第二个街区有一个太多的reader->read()。我现在得到的字符串很好。