我制作了SimpleXMLElement
,我想在其中编写自己的XML,每当我编写带有<
和其他转义字符的XML时。使用XMLWriter
&#39; writeRaw
函数,我可以编写<a>a</a><b>b</b>
,XML文件将包含完整的字符串,而不会以任何方式进行转义。
有没有办法可以使用SimpleXMLElement
编写该字符串,并使用确切的字符串返回,而不是转义。
之前我见过this question,但是当我使用它时,答案会返回错误,而我似乎无法修复它。
答案 0 :(得分:1)
SimpleXML没有直接具备此功能,但它在DOM系列函数中可用。值得庆幸的是,在同一个XML文档上同时使用SimpleXML和DOM很容易。
以下示例使用文档片段向文档中添加几个元素。
<?php
$example = new SimpleXMLElement('<example/>');
// <example/> as a DOMElement
$dom = dom_import_simplexml($example);
// Create a new DOM document fragment and put it inside <example/>
$fragment = $dom->ownerDocument->createDocumentFragment();
$fragment->appendXML('<a>a</a><b>b</b>');
$dom->appendChild($fragment);
// Back to SimpleXML, it can see our document changes
echo $example->asXML();
?>
以上示例输出:
<?xml version="1.0"?>
<example><a>a</a><b>b</b></example>