PHP Conference Japan 2024

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);
}

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