![](/img/trans.png)
[英]I have 3 fields validating correctly. The submissions post to a text file correctly. However
[英]Validating and possibly correcting an XML file that I have
我有一个需要使用的XML文件(随机资源)。 我正在使用PHP DOM文档来处理该文档,并使用DOMXPath来查询对象。 但是,XPath查询不会返回任何类型的数据(resultset-> length = 0)。 该查询是正确的,并且我不担心它的语法。 我还尝试了DOMDOcument-> getElementsByTagName(“ tag”),它也返回空结果。
在上述情况下,当我调用DOMDocument时,如何检查DOMDocument是否能够加载
DOMDocument->Load('file.xml')
[also tried
$xmlFile = file_get_contents('file.xml')
DOMDocument->loadXML($xmlFile)]
我假设XML文件是否有故障,那么很有可能根本无法查询DOMDocument吗? 无论如何,我是否需要检查a)当我调用DOMDocument-> Load / loadXML方法时是否完全加载了文档b)使用外部资源验证XML文件(w3学校验证程序是我所知道的唯一文件)c)如果XML文件不正确,无论如何我都可以纠正它?
感谢所有抽出宝贵时间阅读本书的人。
最好,Parijat Kalia
在执行任何操作之前,请尝试将其翻转:
libxml_use_internal_errors(true);
然后,在加载XML之后,使用以下命令查找错误:
$errors = libxml_get_errors();
您可以遍历$errors
(它是一个libXMLError对象的数组)。
例如:
libxml_use_internal_errors(true);
try
{
$doc = new DOMDocument();
$doc->load("somebadxmlfile.xml");
}
catch (Exception $e)
{
$errors = libxml_get_errors();
foreach ($errors as $error)
{
echo $error->message . " [ Line: " . $error->line . " | Column: " . $error->column . " | Level: " . $error->level . " | File: " . $error->file . " ]";
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.