使用PHP XMLWriter :: writeElement时保留XML代码

时间:2012-10-11 16:48:59

标签: php encoding character-encoding xmlwriter

我有一个mySQL表,其中的字段包含要转换为XML的副本。 mySQL字段中的一些副本在单词周围有粗体标记:

<b>This will be bold</b>, this won't be

但是,当我使用XMLwriter构建我的XML文档时,副本最终看起来像这样:

&lt;b&gt;This will be bold&lt;/b&gt;, this won't be

有人可以告诉我如何避免这些标签的字符编码吗?

2 个答案:

答案 0 :(得分:2)

我猜你的代码需要使用XMLWriter::writeRaw代替XMLWriter::text

请注意,如果您确信数据库中的内容是正确的XML,那么这只是一个很好的解决方案。否则,您需要首先通过设置DOMDocument::loadXML标记的DOMDocument::recover等DOM解析器运行该内容,然后使用DOMDocument::saveXML导出内容并将其传递给XMLWriter::writeRaw

答案 1 :(得分:0)

将您的副本通过html_entity_decode(),如下所示:

echo html_entity_decode("&lt;b&gt;This will be bold&lt;/b&gt;, this won't be");