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

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

DDD
DDD原創
2024-10-27 19:09:30647瀏覽

How to Extract Inner XML Content from SimpleXMLElement in PHP?

PHP SimpleXML:存取內部XML

在使用PHP 的SimpleXML 進行XML 操作時,通常需要擷取元素的內部HTML 內容沒有封閉內部HTML的標籤。本文探討如何使用 SimpleXML 來實現此目的。

考慮以下XML 結構:

<code class="xml"><qa>
  <question>Who are you?</question>
  <answer>Who who, <strong>who who</strong>, <em>me</em></answer>
</qa></code>

要將「answer」元素的內部內容提取為字串,以下方法是可用:

使用asXML ():

<code class="php">$answer = new SimpleXMLElement($xml);
$innerXML = $answer->asXML(); // Returns "<answer>Who who, <strong>who who</strong>, <em>me</em></answer>"</code>

使用DOM 文件:

<code class="php">$answer = new SimpleXMLElement($xml);
$dom = dom_import_simplexml($answer);
$innerXML = $dom->ownerDocument->saveXML($dom); // Returns "Who who, <strong>who who</strong>, <em>me</em>"</code>

使用自訂函數:

使用自訂函數:
<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">$innerXML = SimpleXMLElement_innerXML($answer); // Returns "Who who, <strong>who who</strong>, <em>me</em>"</code>

使用此函數:這些方法提供用於提取SimpleXML 元素內部XML 的選項,從而實現XML內容的高效率操作和檢索。

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

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