首頁 >後端開發 >php教程 >如何在 PHP 中不使用包裝標籤從 SimpleXMLElement 擷取內部 XML 內容?

如何在 PHP 中不使用包裝標籤從 SimpleXMLElement 擷取內部 XML 內容?

Linda Hamilton
Linda Hamilton原創
2024-11-01 15:59:30325瀏覽

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

使用PHP SimpleXML 擷取內部XML 內容

使用PHP 的SimpleXMLElement 類別擷取元素的內部HTML 內容時,asXML() 方法傳回整個元素,包括它的包裝標籤。若要僅取得內部 XML,需要一個自訂函數。

下面介紹了一個這樣的函數:

<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>

要提取答案元素的內部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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn