通过 php 在 xml 中添加 html 标签

发布于 2024-08-20 00:09:22 字数 620 浏览 9 评论 0 原文

我试图用 php 将 html 字符串放入 xml 中,如下所示:

<?php
$xml_resource = new SimpleXMLElement('stuff.xml', 0, true);
$xml_resource->content = '<![CDATA[<u>111111111111111111111111111111111 text</u>]]>';
$xml_resource->asXML('stuff.xml');
?>

但由于某种原因,我的 xml 文件看起来像这样:

<?xml version="1.0"?> <data>
    <content id="pic1" frame="1" xpos="22" ypos="22" width="11" height="11">&lt;![CDATA[&lt;u&gt;111111111111111111111111111111111 text&lt;/u&gt;]]&gt;</content> </data>

非常感谢您的帮助,好先生。

I am trying to put an html string inside of xml with php like this:

<?php
$xml_resource = new SimpleXMLElement('stuff.xml', 0, true);
$xml_resource->content = '<![CDATA[<u>111111111111111111111111111111111 text</u>]]>';
$xml_resource->asXML('stuff.xml');
?>

but for some reason my xml file looks like this:

<?xml version="1.0"?> <data>
    <content id="pic1" frame="1" xpos="22" ypos="22" width="11" height="11"><![CDATA[<u>111111111111111111111111111111111 text</u>]]></content> </data>

Thank you very much for your help good sirs.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

殤城〤 2024-08-27 00:09:22

SimpleXML 无法创建 CDATA 部分。然而,简单地将 HTML 分配给节点在功能上应该是等效的:

$xml_resource->content = '<u>111111111111111111111111111111111 text</u>';

当然,特殊字符将被转义,结果将等效于使用 CDATA 部分。


如果您绝对想创建 CDATA 部分,则必须使用 SimpleDOM 之类的内容来访问相应的 DOM 方法。

include 'SimpleDOM.php';

$xml_resource = new SimpleDOM('stuff.xml', 0, true);
$xml_resource->content = '';
$xml_resource->content->insertCDATA('<u>111111111111111111111111111111111 text</u>');
$xml_resource->asXML('stuff.xml');

SimpleXML cannot create CDATA sections. However, simply assigning the HTML to a node should be functionnally equivalent:

$xml_resource->content = '<u>111111111111111111111111111111111 text</u>';

Of course the special characters will be escaped, and the result will be equivalent to using a CDATA section.


If you absolutely want to create CDATA sections, you will have to use something like SimpleDOM to access the corresponding DOM method.

include 'SimpleDOM.php';

$xml_resource = new SimpleDOM('stuff.xml', 0, true);
$xml_resource->content = '';
$xml_resource->content->insertCDATA('<u>111111111111111111111111111111111 text</u>');
$xml_resource->asXML('stuff.xml');
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文