我正在编写PHP rest服务。我从客户端发送xml字符串,服务使用SimpleXmlElement解析xml。如果我发送“hello world”而不是xml字符串,则下面的代码会在浏览器中生成警告。如何检查输入是否有效xml字符串而不是某句话。
try
{
xmlobj = new SimpleXMLElement($xml_post);
}
catch(Exception $e)
{
$dat = $e->getMessage();
return $dat;
}
警告就是这样的
SimpleXMLElement :: __ construct()[simplexmlelement .-- construct]:实体:第1行:解析器错误:期望开始标记,'<'找不到
我想在调用SimpleXMLElement类construtor之前验证输入。
答案 0 :(得分:1)
php.net有一个关于处理libxml错误的gret文档。
首先在try-catch块之前添加以下内容:
libxml_use_internal_errors(true);