使用PHP 的SimpleXMLElement 類別擷取元素的內部HTML 內容時,asXML() 方法傳回整個元素,包括它的包裝標籤。若要僅取得內部 XML,需要一個自訂函數。
下面介紹了一個這樣的函數:
<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="xml"><qa> <question>Who are you?</question> <answer>Who who, <strong>who who</strong>, <em>me</em></answer> </qa></code>
要提取答案元素的內部XML:
<code class="php">$xml = simplexml_load_string($xml_string); $answer_innerXML = SimpleXMLElement_innerXML($xml->answer);</code>
$answer_innerXML 將包含字串:
Who who, <strong>who who</strong>, <em>me</em>
以上是如何在 PHP 中不使用包裝標籤從 SimpleXMLElement 擷取內部 XML 內容?的詳細內容。更多資訊請關注PHP中文網其他相關文章!