DOMDocumentFragment::appendXML

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

DOMDocumentFragment::appendXML附加原始 XML 数据

描述

public DOMDocumentFragment::appendXML(string $data): bool

将原始 XML 数据附加到 DOMDocumentFragment。

此方法不是 DOM 标准的一部分。它是作为一种更简单的方法创建的,用于在 DOMDocument 中附加 XML DocumentFragment。

如果您想坚持标准,则必须使用一个虚拟根创建临时 DOMDocument,然后遍历 XML 数据根的子节点以附加它们。

参数

data

要附加的 XML。

返回值

成功时返回 true,失败时返回 false

范例

示例 #1 将 XML 数据附加到您的文档

<?php
$doc
= new DOMDocument();
$doc->loadXML("<root/>");
$f = $doc->createDocumentFragment();
$f->appendXML("<foo>text</foo><bar>text2</bar>");
$doc->documentElement->appendChild($f);
echo
$doc->saveXML();
?>

上面的例子将输出

<?xml version="1.0"?>
<root><foo>text</foo><bar>text2</bar></root>

添加笔记

用户贡献笔记 2 笔记

lpetrov(AT)axisvista.com
17 年前
这里有一个(也许)更好的例子
/**
* 用于替换 $node(DOMNode)的辅助函数
* 使用 XML 代码(字符串)
*
* @var DOMNode $node
* @var string $xml
*/
public function replaceNodeXML(&$node,$xml) {
$f = $this->dom->createDocumentFragment();
$f->appendXML($xml);
$node->parentNode->replaceChild($f,$node);
}

从以下文章“基于 PHP5 Dom 的模板”中复制
http://blog.axisvista.com/?p=35
感谢 Christoph。
2 年前
诸如 " ' & < > 之类的字符串可能需要提前转义。
在这种情况下,您可以使用 htmlspecialchars()。
To Top