使用PHP DOM的混合内容的XML节点 [英] XML node with Mixed Content using PHP DOM

查看:73
本文介绍了使用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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆