使用PHP DOM的混合内容的XML节点 [英] XML node with Mixed Content using PHP DOM
本文介绍了使用PHP DOM的混合内容的XML节点的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
解决方案
如果我有一个方法可以使用PHP DOM创建一个混合的XML内容的节点正确地理解你在JavaScript中需要类似innerHTML的东西。有一个解决方案:
$ xmlString ='some< b> mixed< / b>内容';
$ dom = new DOMDocument;
$ fragment = $ dom-> createDocumentFragment();
$ fragment-> appendXML($ xmlString);
$ dom-> appendChild($ fragment);
//完成
进行汇总。您需要的是:
虽然你没有问过我会告诉你如何获取DOM节点的字符串表示,而不是整个DOM文档:
//对于DOMDocument,您有
$ dom-> save($ file);
$ string = $ dom-> saveXML();
$ dom-> saveHTML();
$ string = $ dom-> saveHTMLFile($ file);
//对于一个DOMElement,你有
$ node = $ dom-> getElementById('some-id');
$ string = $ node-> C14N();
$ node-> C14NFile($ file);
这两种方法目前没有记录。
Is there a way to create a node that has mixed XML content in it with the PHP DOM?
解决方案
If I understood you correctly you want something similar to innerHTML in JavaScript. There is a solution to that:
$xmlString = 'some <b>mixed</b> content';
$dom = new DOMDocument;
$fragment = $dom->createDocumentFragment();
$fragment->appendXML($xmlString);
$dom->appendChild($fragment);
// done
To sumarize. What you need is:
Although you didn't asked about it I'll tell you how to get the string representation of a DOM node as opposed to the whole DOM document:
// for a DOMDocument you have
$dom->save($file);
$string = $dom->saveXML();
$dom->saveHTML();
$string = $dom->saveHTMLFile($file);
// For a DOMElement you have
$node = $dom->getElementById('some-id');
$string = $node->C14N();
$node->C14NFile($file);
Those two methods are currently not documented.
这篇关于使用PHP DOM的混合内容的XML节点的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文