使用 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中文网其他相关文章!