2011-04-17 55 views
0

远程服务生成带有不带引号的属性值的无效XML。例如:修复无效XML中的报价错误

<abc invalid=105 valid="105"> 

在PHP中,如何在输出中修补这些错误?只要将它传递给SimpleXML就会导致错误。

谢谢。

+0

这会不会不排序属性? http://php.net/manual/en/tidy.isxml.php – 2011-04-17 20:23:34

+3

我会联系远程服务的管理员;) – cweinberger 2011-04-17 20:25:50

+0

http://stackoverflow.com/questions/3797100/how-to-repair-malformed- xml/3797486#3797486 – 2011-04-17 20:27:26

回答

1

您正在寻找tidy

$input = '<abc invalid=105 valid="105">'; 
$tidy = new tidy(); 
$config = array('output-xml' => true); 
$cleanXML = $tidy->repairString($input, $config); 
+0

这将是一个完美的解决方案,如果我的悲惨的虚拟主机支持整齐。 – hub 2011-04-17 20:46:32