Php/docs/simplexml.examples-errors

提供:Dev Guides
< Php
移動先:案内検索

XML エラーの対応

ドキュメント読み込み時の XML エラーに対処するのは非常にシンプルな作業です。 libxml の機能を使うと、 ドキュメント読み込み時のすべての XML エラーを抑制して後からそれを処理することができます。

libxml_get_errors() が返す libXMLError オブジェクトには、エラーについての messagelinecolumn (場所) といったプロパティが含まれます。

例1 壊れた XML 文字列の読み込み

<?phplibxml_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