Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mengekstrak kandungan XML dalaman objek SimpleXMLElement dalam PHP?

Bagaimana untuk mengekstrak kandungan XML dalaman objek SimpleXMLElement dalam PHP?

Susan Sarandon
Susan Sarandonasal
2024-10-28 19:28:02515semak imbas

How to extract the inner XML content of a SimpleXMLElement object in PHP?

Mendapatkan Kandungan XML Dalaman dengan SimpleXML dalam PHP

Apabila bekerja dengan data XML dalam PHP, anda mungkin menghadapi situasi di mana anda perlu mengekstrak kandungan dalaman elemen, tidak termasuk tag elemen itu sendiri. Ini boleh dicapai dengan bantuan pertanyaan XPath atau fungsi tersuai.

Pendekatan Fungsi Tersuai:

Satu kaedah yang cekap untuk mendapatkan kandungan XML dalaman adalah dengan mencipta tersuai fungsi yang berulang melalui nod dan mengekstrak data yang diperlukan.

<code class="php">function SimpleXMLElement_innerXML($xml) {
  $innerXML = '';
  foreach (dom_import_simplexml($xml)->childNodes as $child) {
    $innerXML .= $child->ownerDocument->saveXML($child);
  }
  return $innerXML;
}</code>

Penggunaan:

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

$answer = simplexml_load_string($xml);
$inner_content = SimpleXMLElement_innerXML($answer);

echo $inner_content; // Output: "Who who, <strong>who who</strong>, <em>me</em>"</code>

Kesimpulan:

Fungsi tersuai ini menyediakan cara yang mudah dan cekap untuk mendapatkan semula kandungan XML dalaman objek SimpleXMLElement, tanpa menggunakan teknik manipulasi rentetan yang kompleks. Ia amat berguna apabila mengendalikan struktur XML yang besar atau kompleks.

Atas ialah kandungan terperinci Bagaimana untuk mengekstrak kandungan XML dalaman objek 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