我正在尝试完全验证可能由用户在完全发布和发布之前发布的 xml 文件 - 它基本上有点像 sitemap.xml 并且如果没有防错,它绝对不能发布(是的,我这样做了也有我自己的自定义 dtd )。
我也在考虑实现一个存储系统,这样它就可以存储最后的 2-3 个版本(因为它是一种真正的高优先级类型)。
有小费吗?
编辑:这是我目前拥有的,但在某些情况下,我相信它在 xml 不完全有效时得到了验证:
$dom = new DOMDocument();
if ( $dom->load( $tempFileName ) ) {
if ( $dom->validate() ) {
echo '<p>XML is valid. Overwriting sitemap.xml.</p>';
file_put_contents( 'sitemap.xml', $sitemapXML->asXML() );
} else {
echo '<p>XML is not valid. Please correct.</p>';
}
}