PHP の SimpleXMLElement を使用するときに CDATA セクションを適切に処理するにはどうすればよいですか?

DDD
リリース: 2024-11-19 22:33:02
オリジナル
290 人が閲覧しました

How to Properly Handle CDATA Sections When Using PHP's SimpleXMLElement?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート