gpt4 book ai didi

php - simplexml_import_dom() : Invalid Nodetype to import - which DOMNode sub-types are supported?

转载 作者:行者123 更新时间:2023-12-04 18:06:52 32 4
gpt4 key购买 nike

不时地,simplexml_import_dom()当传递 DOMNode 时函数给我以下错误不是兼容的子类型:

simplexml_import_dom(): Invalid Nodetype to import

所以我想知道哪些 DOMNode 类型可以有效导入?

最佳答案

首先,您通过simplexml_import_dom 导入的DOMNode 必须与文档相关联。这与其 DOMNode 子类型无关,没有文档的节点将被拒绝:

simplexml_import_dom(): Imported Node must have associated Document

接下来,导入的节点必须是 DOMElement 类型。

这两个是唯一的要求(参见 source )。

总结:您可以将任何具有 ownerDocumentDOMElement 导入到 simplexml 中。

如果您需要导入一个没有文档的 DOMNode,请创建一个并导入它。

/** @var XMLReader $reader */
$node = $reader->expand();

if (!$node instanceof DOMElement) {
throw new UnexpectedValueException(
sprintf('Expected DOMElement, %s given.', get_class($node))
);
}

$doc = new DomDocument();
$node = $doc->importNode($node, true);

$sxnl = simplexml_import_dom($node);

如果节点不是 DOMElement 那么解决起来就更棘手了,具体取决于你需要什么,没有简单的回退,就像没有简单的一样那时在 simplexml 中。

要找出 SimpleXMLElement 代表的节点类型,请参阅:

关于php - simplexml_import_dom() : Invalid Nodetype to import - which DOMNode sub-types are supported?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24419272/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com