2011-12-08 15 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

入れ子にされたxmlチャンクを得るためにreadInnerXML以外のより信頼できる方法がありますか? – Thaps

+0

エラーmsg: '警告:XMLReader :: XML()[xmlreader.xml]:空の文字列が入力として入力されました。 ' – Thaps

答えて

0

神は私をsmitingた判明。あなたが2番目のブロックにあまりにも多くのreader->read()を持っていたことを私が示すために、午前中に車が墜落した。私は現在ストリングを細かくしています。

関連する問題