PHP SimpleXML: 内部 XML へのアクセス
PHP XML 解析の領域では、SimpleXML 拡張機能を使用すると、開発者は XML ドキュメントを簡単に操作できます。ただし、周囲の要素タグを除いて、XML 要素の内部コンテンツを抽出するのは困難な場合があります。
次の XML スニペットを考えてみましょう。
<qa> <question>Who are you?</question> <answer>Who who, <strong>who who</strong>, <em>me</em></answer> </qa>
" のコンテンツのみを取得するには「answer」要素 (つまり、「誰が、誰が 、私」) を使用するには、デフォルトの asXML() メソッドをバイパスする必要があります。代わりに、dom_import_simplexml() 関数を使用した洗練されたソリューションを紹介します。
<code class="php">function SimpleXMLElement_innerXML($xml) { $innerXML = ''; foreach (dom_import_simplexml($xml)->childNodes as $child) { $innerXML .= $child->ownerDocument->saveXML( $child ); } return $innerXML; }</code>
この関数を使用すると、任意の要素の内部 XML にアクセスできます。
<code class="php">$xml = simplexml_load_string($xmlString); $innerAnswer = SimpleXMLElement_innerXML($xml->answer);</code>
結果の $ innerAnswer 変数には、目的の文字列「誰が、誰が、私」が含まれます。このアプローチでは、元の書式設定と文字エンティティが内部 XML 内に保存されるため、抽出されたコンテンツの整合性を維持するのに理想的です。
以上がPHP で SimpleXMLElement から内部 XML コンテンツを抽出する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。