0

我正在尝试使用 php 在 xml 中放置一个 html 字符串,如下所示:

<?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>

非常感谢各位好先生的帮助。

4

1 回答 1

1

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');
于 2010-02-01T07:18:20.123 回答