当前位置: 首页 > 面试题库 >

用PHP生成XML文档(转义字符)

陈铭晨
2023-03-14
问题内容

我正在从PHP脚本生成XML文档,并且需要转义XML特殊字符。我知道应该转义的字符列表;但是正确的方法是什么?

应该使用反斜杠(')来转义字符还是正确的方法?有内置的PHP函数可以为我处理此问题吗?


问题答案:

使用DOM类生成整个XML文档。它将处理我们甚至不需要关心的编码和解码。

编辑: 这被@Tchalvak批评:

DOM对象创建了一个完整的XML文档,它不容易将其自身编码为一个字符串。

错了,DOMDocument只能输出一个片段而不是整个文档:

$doc->saveXML($fragment);

这使:

Test &amp; <b> and encode </b> :)
Test &amp;amp; &lt;b&gt; and encode &lt;/b&gt; :)

如:

$doc = new DOMDocument();
$fragment = $doc->createDocumentFragment();

// adding XML verbatim:
$xml = "Test &amp; <b> and encode </b> :)\n";
$fragment->appendXML($xml);

// adding text:
$text = $xml;
$fragment->appendChild($doc->createTextNode($text));

// output the result
echo $doc->saveXML($fragment);

观看演示



 类似资料:
  • 问题内容: 我已经摆弄了二十多分钟,而我的Google-foo让我失望了。 假设我有一个用Java创建的XML文档(org.w3c.dom.Document): 如何将文档对象转换为文本字符串? 问题答案:

  • PHP生成XML文件,<>被转义,怎么才能让它不转义呢? 得到的XML,打开后:

  • 问题内容: 我正在尝试开发XML导出功能,以使我的应用程序用户可以XML格式导出其数据。我已经准备好了该功能并且可以正常工作,直到在某些情况下开始失败。然后我意识到是因为某些特殊字符需要编码。例如,数据可能包含&或!或%或’或#等。等等,需要正确地转义。我想知道是否有通用的实用程序可以按照XML规范转义所有特殊字符。我在Google上找不到任何东西。 已经有类似的东西了吗?或还有其他方法吗? 这是

  • 我们使用<code>Swagger UI</code>文档来描述我们的项目API。Swager必须从<code>projectname中读取XML。xml来显示我们在项目中拥有的所有C.R.U.D.函数。 问题是,当我从Visual Studio切换到Visual Studio代码时,它不会从Visual Studio代码重新生成或更改现有的XML文件。是否有方法在Visual Studio代码中

  • 问题内容: 这是我所拥有的信息: 我正在使用MySQL和PHP5在基于Linux的系统上工作。我需要能够从.php文件中生成一个,然后将该转储存储在服务器上我指定的位置的文件中。 因为我是PHP nooblet,所以我希望有人给我一些帮助,指导或代码,这些可以帮助我完成所需的工作。这将必须从Internet远程运行。 问题答案: 您可以使用该 功能执行外部命令。 注意:在和之间,我会选择第二个,它

  • 本文向大家介绍java中利用Dom4j解析和生成XML文档,包括了java中利用Dom4j解析和生成XML文档的使用技巧和注意事项,需要的朋友参考一下 一、前言 dom4j是一套非常优秀的Java开源api,主要用于读写xml文档,具有性能优异、功能强大、和非常方便使用的特点。   另外xml经常用于数据交换的载体,像调用webservice传递的参数,以及数据做同步操作等等,   所以使用dom