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>
<code class="php">$innerXML = SimpleXMLElement_innerXML($answer); // Returns "Who who, <strong>who who</strong>, <em>me</em>"</code>
以上是如何在 PHP 中從 SimpleXMLElement 擷取內部 XML 內容?的詳細內容。更多資訊請關注PHP中文網其他相關文章!