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

我正在从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);

观看演示

以上是 用PHP生成XML文档(转义字符) 的全部内容, 来源链接: utcz.com/qa/410088.html

回到顶部