替代PHP4的simplexml_load_string

时间:2013-02-22 07:02:15

标签: php xml string simplexml

我正在使用simplexml_load_string对XML字符串进行解释,以便从REST API的结果中进行对象。它在我的本地服务器上工作正常,它使用的是PHP5。但我的托管服务提供商给了我PHP4。

为此,我需要将XML字符串解释为对象的方式更改为另一种方法,我不知道该怎么做。

有人可以为我编辑吗? http://codepad.viper-7.com/OYxzLD

1 个答案:

答案 0 :(得分:3)

您可以使用支持PHP4的DOM来解析XML。

请参阅以下示例:


XML Data:
<data>
<Report ID="1">
    <Date>REVIEW</Date>
    <AuthorID>1</AuthorID>
</Report>
<Report ID="2">
    <Date>REVIEW</Date>
    <AuthorID>2</AuthorID>
</Report>
</data>

<?php
$xmlDoc = new DOMDocument();
$xmlDoc->load( 'data.xml' );

$searchNode = $xmlDoc->getElementsByTagName( "Report" );

foreach( $searchNode as $searchNode )
{
    $valueID = $searchNode->getAttribute('ID');

    $xmlDate = $searchNode->getElementsByTagName( "Date" );
    $valueDate = $xmlDate->item(0)->nodeValue;

    $xmlAuthorID = $searchNode->getElementsByTagName( "AuthorID" );
    $valueAuthorID = $xmlAuthorID->item(0)->nodeValue;

    echo "$valueID - $valueDate - $valueAuthorID\n";
}
?>

输出:

1 - 审查 - 1 2 - 审查 - 2