ホームページ  >  記事  >  バックエンド開発  >  PHP でラッピングタグを使用せずに SimpleXMLElement から内部 XML コンテンツを抽出する方法

PHP でラッピングタグを使用せずに SimpleXMLElement から内部 XML コンテンツを抽出する方法

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-01 15:59:30223ブラウズ

How to Extract Inner XML Content from a SimpleXMLElement Without the Wrapping Tags in PHP?

PHP SimpleXML を使用した内部 XML コンテンツの抽出

PHP の SimpleXMLElement クラスを使用して要素の内部 HTML コンテンツを抽出すると、asXML() メソッドは要素全体を返します。ラッピングタグです。内部 XML だけを取得するには、カスタム関数が必要です。

そのような関数の 1 つを以下に示します。

<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="xml"><qa>
    <question>Who are you?</question>
    <answer>Who who, <strong>who who</strong>, <em>me</em></answer>
</qa></code>

answer 要素の内部 XML を抽出するには:

<code class="php">$xml = simplexml_load_string($xml_string);
$answer_innerXML = SimpleXMLElement_innerXML($xml->answer);</code>

$answer_innerXML には次の文字列が含まれます:

Who who, <strong>who who</strong>, <em>me</em>

以上がPHP でラッピングタグを使用せずに SimpleXMLElement から内部 XML コンテンツを抽出する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。