SimpleXMLElement を使用した PHP での CDATA の処理
SimpleXMLElement を使用して CDATA セクションを含む XML ドキュメントを解析すると、null 値が発生する可能性があります。この問題を解決する方法は次のとおりです。
CDATA コンテンツへのアクセス
CDATA コンテンツに誤ってアクセスすると、Null 値が発生する可能性があります。これに正しくアクセスするには、SimpleXMLElement オブジェクトから直接出力するか、文字列にキャストします。例:
$content = simplexml_load_string( '<content><![CDATA[Hello, world!]]></content>' ); // Output content directly echo (string) $content; // Cast to string echo $content;
LIBXML_NOCDATA オプション
もう 1 つの方法は、SimpleXMLElement の作成中に LIBXML_NOCDATA オプションを使用することです。このオプションは、CDATA セクションではなくテキスト ノードとして CDATA セクションを取得するようにパーサーに指示します。以下に例を示します:
$content = simplexml_load_string( '<content><![CDATA[Hello, world!]]></content>' , null , LIBXML_NOCDATA ); echo $content->content;
以上がPHP の SimpleXMLElement を使用するときに CDATA セクションを適切に処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。