jjzjj

schemavalidate

全部标签

xml - 如何使用 ant 根据模式验证 XML 文件?

作为构建过程的一部分,我想根据架构(XSD)验证XML文件。我正在尝试像这样使用schemavalidate任务:这会产生以下错误:[...]BUILDFAILEDbuild.xml:65:Thefollowingerroroccurredwhileexecutingthisline:build.xml:59:ParserdoesnotsupportXercesorJAXPschemafeatures我使用的是最新的ant发行版(1.7.1)。是否需要任何其他库才能使验证正常工作? 最佳答案 schemavalidate任务实际上如

php - 当模式无效时,如何禁用 DOMDocument::schemaValidate() 产生的警告?

为了避免模式验证过程中的PHP警告,可以使用libxml_use_internal_errors(true);和libxml_get_errors()[0]->message;来“手动”管理最终的验证错误消息。这在XML与模式不匹配时有效,但当模式本身无效时仍会触发警告。libxml_use_internal_errors(true);已经在返回的错误数组中捕获了错误消息,这个警告对我来说似乎是多余的,有什么方法可以绕过/禁用这个特定的警告吗?我在严格模式下工作,所以我在警告触发时停止执行,并将错误记录在数据库中,问题是PHP警告太模糊了,所以我想绕过它来报告libxml错误一个单独的

php - DOMDocument::schemaValidate() 抛出警告错误

我有两个文件:示例XML文件。带有模式的.xsd文件,上述XML文件必须遵守该模式。为了根据模式验证XML文件,我一直在使用:$dom=newDOMDocument();//$this->xmlstr;ismyXMLfileafterbeingloadedintoastring.$dom->loadXML($this->xmlstr);//$xsd_fileisdefinitelymyxsdfile.if(!$dom->schemaValidate($xsd_file)){$errors=libxml_get_errors();//supposedtogivebackerrors?va

php - 在 PHP 中使用 schemaValidate() 验证 XML 时如何将警告消息作为字符串获取?

我有这段代码可以根据XSD文件验证XML文件:$file='test.xml';$schema='test.xsd';$dom=newDOMDocument;$dom->load($file);if($dom->schemaValidate($schema)){print"$fileisvalid.\n";}else{print"$fileisinvalid.\n";}如果xml文件无效,那么就说无效。然而,它无效的原因(例如价格不是整数)仅在PHP警告中给出,我必须抑制它以便用户看不到它(使用error_reporting(0))。如何获取该消息的文本并将其传递给用户,就像我在C#中