如何使用SimpleXmlElement编写CDATA?
我有这段代码来创建和更新 xml 文件:
<?php
$xmlFile = 'config.xml';
$xml = new SimpleXmlElement('<site/>');
$xml->title = 'Site Title';
$xml->title->addAttribute('lang', 'en');
$xml->saveXML($xmlFile);
?>
这会生成以下 xml 文件:
<?xml version="1.0"?>
<site>
<title lang="en">Site Title</title>
</site>
问题是:有没有办法使用此方法/技术添加 CDATA 来创建下面的 xml 代码?
<?xml version="1.0"?>
<site>
<title lang="en"><![CDATA[Site Title]]></title>
</site>
I have this code to create and update xml file:
<?php
$xmlFile = 'config.xml';
$xml = new SimpleXmlElement('<site/>');
$xml->title = 'Site Title';
$xml->title->addAttribute('lang', 'en');
$xml->saveXML($xmlFile);
?>
This generates the following xml file:
<?xml version="1.0"?>
<site>
<title lang="en">Site Title</title>
</site>
The question is: is there a way to add CDATA with this method/technique to create xml code below?
<?xml version="1.0"?>
<site>
<title lang="en"><![CDATA[Site Title]]></title>
</site>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
知道了!我改编了这个出色的解决方案 (存档版本):
XML 文件,
config.xml
,生成:谢谢 Petah ,希望有帮助!
Got it! I adapted the code from this great solution (archived version):
XML file,
config.xml
, generated:Thank you Petah, hope it helps!
这是我的此类版本,它具有快速 addChildWithCDATA 方法,基于 您的答案:
简单地使用它:
Here's my version of this class that has a quick addChildWithCDATA method, based on your answer:
Simply use it like that:
如果您不想扩展 SimpleXMLElement,您还可以为此创建一个辅助函数:
You can also create a helper function for this, if you'd rather not extend SimpleXMLElement:
这是我的组合解决方案,使用 CDATA 添加子项或将 CDATA 添加到节点。
Here is my combined solution with adding child with CDATA or adding CDATA to the node.