PHP之XML

一个小题目:

<?php
$a = "<response>
<error>
<error_msg>INVALID_TRANSACTION_ID</error_msg>
</error>
</response>";

?>

需要解析出error_msg里面包含的字符串.

分析:

  这个字符串类似xml,只是缺少xml头,可以加一个xml头,生成xml文件来读取就方便多了.

代码:

<?php
$a = "<response>
<error>
<error_msg>INVALID_TRANSACTION_ID</error_msg>
</error>
</response>";

$xmlStr = <<<XML
<?xml version='1.0'?>
{$a}
XML;
$xml = simplexml_load_string($xmlStr);
$b = (string)($xml->error->error_msg);
var_dump($b);
?>

注意: 生成$xmlStr时,{$a}和XML前面不能用tab键或空格.

 

此外, 也可以用正则去匹配,代码如下:

<?php
$a = "<response>
<error>
<error_msg>INVALID_TRANSACTION_ID</error_msg>
</error>
</response>";
$p = '|<error_msg>.*</error_msg>|';
preg_match($p, $a, $m);
var_dump($m);
?>

当然, $m还需要进一步处理.

posted on 2011-12-07 18:33  DavidYanXW  阅读(196)  评论(0)    收藏  举报