如何提醒php警告信息?

时间:2015-03-16 10:27:12

标签: php jquery error-handling

function validatexml() {
    var xmlfile = "<?php echo $_SESSION['downxml'];?>";
    $.post('xmlvalidate.php', { xmlfile : xmlfile }, function (data) {
        if ($.trim(data) == 'Y') {
            alert('Xml file is valid against NLM 2.3 DTD');
        } else {
            alert('Xml file is not valid against NLM 2.3 DTD<br>Additional Note: ' + data);
        }
    });
}

xmlvalidate.php将返回警告消息如果我通过浏览器执行它。从脚本(上面提到)我将在变量data中得到一个输出。

我还需要提醒xmlvalidate.php返回的警告消息。怎么做?

我已经完成了函数error_get_last()但它只返回最后一条警告消息。我需要收到所有警告信息。我该怎么办?

1 个答案:

答案 0 :(得分:2)

在PHP方面,您可以使用libxml_get_errors()

libxml_use_internal_errors(true);

/* do validation stuff here */

$errors = libxml_get_errors();
PHP中的

Dealing with XML errors解释了:

  

libxml_get_errors()返回的libXMLError对象包含   几个属性,包括消息,行和列(位置)   错误。

还有一个加载无效XML的例子:

libxml_use_internal_errors(true);
$sxe = simplexml_load_string("<?xml version='1.0'><broken><xml></broken>");
if ($sxe === false) {
    echo "Failed loading XML\n";
    foreach(libxml_get_errors() as $error) {
        echo "\t", $error->message;
    }
}

哪个输出:

Failed loading XML
    Blank needed here
    parsing XML declaration: '?>' expected
    Opening and ending tag mismatch: xml line 1 and broken
    Premature end of data in tag broken line 1