首頁  >  文章  >  後端開發  >  如何從 PHP 中的 SimpleXMLElement 擷取內部 XML 內容?

如何從 PHP 中的 SimpleXMLElement 擷取內部 XML 內容?

DDD
DDD原創
2024-11-01 16:00:31863瀏覽

How to Extract Inner XML Content from a SimpleXMLElement in PHP?

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」元素(即「Who who,who whome 」),我們需要繞過預設的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 變數將包含所需的字串:「Who who, who who, 」。這種方法保留了內部 XML 中的原始格式和字元實體,非常適合維護擷取內容的完整性。

以上是如何從 PHP 中的 SimpleXMLElement 擷取內部 XML 內容?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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