📅  最后修改于: 2023-12-03 15:18:22.253000             🧑  作者: Mango
在PHP中,DOMDocument类提供了一个schemaValidateSource()函数,用于验证XML文档是否符合给定的XML Schema定义。本文将对该函数进行介绍。
public bool DOMDocument::schemaValidateSource ( string $source )
| 参数名 | 描述 | | --- | --- | | source | 要验证的XML文档源代码字符串。 |
如果XML文档符合所指定的XML Schema,则函数返回true,否则返回false。
以下代码演示了如何使用DOMDocument类的schemaValidateSource()函数来验证一个XML文档是否符合给定的XML Schema。
$xml_source = "<catalog><book><title>PHP Basics</title><author>John Doe</author><price>19.99</price></book></catalog>";
$xsd_source = "<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'><xs:element name='catalog'><xs:complexType><xs:sequence><xs:element name='book' maxOccurs='unbounded'><xs:complexType><xs:sequence><xs:element name='title' type='xs:string'/><xs:element name='author' type='xs:string'/><xs:element name='price' type='xs:float'/></xs:sequence></xs:complexType></xs:element></xs:sequence></xs:complexType></xs:element></xs:schema>";
$dom = new DOMDocument;
$dom->loadXML($xml_source);
if ($dom->schemaValidateSource($xsd_source)) {
echo "XML document is valid\n";
} else {
echo "XML document is invalid\n";
}
注:在此示例代码中,我们假设XML文档源代码以及XML Schema定义均为字符串形式,实际应用时可以根据实际情况进行修改。
DOMDocument类的schemaValidateSource()函数提供了一种简单、快速而又可靠的方法来验证XML文档是否符合给定的XML Schema定义。如果你经常需要处理XML文档,那么这个函数一定会给你带来很大的帮助。