PHP SimpleXML:访问内部 XML
在使用 PHP 的 SimpleXML 进行 XML 操作时,通常需要检索元素的内部 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>
使用自定义函数:
可以定义以下自定义函数来提取内部 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>
使用此函数:
<code class="php">$innerXML = SimpleXMLElement_innerXML($answer); // Returns "Who who, <strong>who who</strong>, <em>me</em>"</code>
这些方法提供用于提取 SimpleXML 元素内部 XML 的选项,从而实现 XML 内容的高效操作和检索。
以上是如何在 PHP 中从 SimpleXMLElement 中提取内部 XML 内容?的详细内容。更多信息请关注PHP中文网其他相关文章!