Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mengekstrak Kandungan XML Dalaman daripada SimpleXMLElement dalam PHP?

Bagaimana untuk Mengekstrak Kandungan XML Dalaman daripada SimpleXMLElement dalam PHP?

DDD
DDDasal
2024-11-01 16:00:31863semak imbas

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

PHP SimpleXML: Mengakses XML Dalaman

Dalam bidang penghuraian XML PHP, sambungan SimpleXML membenarkan pembangun memanipulasi dokumen XML dengan mudah. Walau bagaimanapun, mengekstrak kandungan dalaman elemen XML, tidak termasuk teg elemen sekeliling, boleh menjadi mencabar.

Pertimbangkan coretan XML berikut:

<qa>
  <question>Who are you?</question>
  <answer>Who who, <strong>who who</strong>, <em>me</em></answer>
</qa>

Untuk mendapatkan semula kandungan " elemen jawapan" (iaitu, "Siapa siapa, siapa siapa, saya"), kita perlu memintas kaedah asXML() lalai. Sebaliknya, kami memperkenalkan penyelesaian elegan menggunakan fungsi 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>

Dengan menggunakan fungsi ini, kami boleh mengakses XML dalaman mana-mana elemen:

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

$ yang terhasil pembolehubah innerAnswer akan mengandungi rentetan yang dikehendaki: "Siapa siapa, siapa siapa, saya". Pendekatan ini mengekalkan pemformatan asal dan entiti aksara dalam XML dalaman, menjadikannya ideal untuk mengekalkan integriti kandungan yang diekstrak.

Atas ialah kandungan terperinci Bagaimana untuk Mengekstrak Kandungan XML Dalaman daripada SimpleXMLElement dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn