关于解析XML请求数据
获取
由于xml文本中的节点无法用request()
的相关方法取到 只能用request()->getContetn()
获取到未序列化的原字符串下面是将XML文本转为数组的方法(复制自
overtrue/easywechat
的EasyWeChat\Kernel\Support\XML
)
/**
* XML to array.
*
* @param string $xml XML string
*
* @return array
*/
public static function parse($xml)
{
$backup = PHP_MAJOR_VERSION < 8 ? libxml_disable_entity_loader(true) : null;
$result = self::normalize(simplexml_load_string(self::sanitize($xml), 'SimpleXMLElement', LIBXML_COMPACT | LIBXML_NOCDATA | LIBXML_NOBLANKS));
PHP_MAJOR_VERSION < 8 && libxml_disable_entity_loader($backup);
return $result;
}
本作品采用《CC 协议》,转载必须注明作者和本文链接