php中的xml字符串验证

时间:2011-08-19 15:03:45

标签: php xml validation

我正在编写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之前验证输入。

1 个答案:

答案 0 :(得分:1)

php.net有一个关于处理libxml错误的gret文档。

首先在try-catch块之前添加以下内容:

libxml_use_internal_errors(true);