PHP readInnerXML返回空字符串

PHP readInnerXML返回空字符串,php,xml,Php,Xml,我不知道发生了什么事。我有以下代码: `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_

我不知道发生了什么事。我有以下代码:

`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");
  }`
`case(XMLREADER::ELEMENT):
$node_type=$reader->nodeType;
$node_name=$reader->name;
如果($node\u name==“gs\u relay\u rpc”){//我现在需要这个来工作
$node_value=$reader->readInnerXML();
获取xml数据(“$node\u value.”);
包括($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>";
  }`
`case(XMLREADER::ELEMENT):
$node_type=$reader->nodeType;
echo$node_类型。“->”;
$node_name=$reader->name;
if($node\u name==“itp\u交换\u rpc”){
echo$node_name.“=”;
$reader->read();
$node_value=$reader->readInnerXML();
获取xml数据(“$node\u value.”);
}否则{
echo$node_name.“=”;
$reader->read();
$node_value=$reader->value;
回显$node_值。“
”; }`
它实际上是第一个块的复写副本,但是对于第二个块
readInnerXML()
返回一个空白。xml块是有效的,因为它确实被解析。我的问题是,我需要在它上面递归,但我不能,因为函数返回空白

xml:
test@hotmail.com

原来是上帝在打我。早上的一场车祸告诉我,我在第二个街区的
reader->read()
太多了。我现在很好地处理了字符串。

谁能帮我解释一下,有没有比readInnerXML更可靠的方法来获取嵌套的xml块?错误消息:
警告:XMLReader::xml()[XMLReader.xml]:在…
中作为输入提供的空字符串当我从递归中删除测试标记时会引发错误。这两个块位于两个独立且不相关的脚本文件中