[英]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.