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