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 who,me 」),我們需要繞過預設的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中文網其他相關文章!