PHP readInnerXML返回空字符串

时间:2011-12-08 16:38:31

标签: 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_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 > test@hotmail.com</itp_floor_name> </itp_floor></itp_exchange_rpc>

1 个答案:

答案 0 :(得分:0)

原来上帝在打击我。早上发生车祸,告诉我在第二个街区有一个reader->read()太多了。我现在收到的字符串很好。