Я использую SimpleXML для создания документа, и задающийся вопросом, возможно ли вставить тег комментария в документ как это:
<root>
<!-- some comment -->
<value>
</root>
Править:
Комментарий где-нибудь посреди документа.
<root>
<tag1 />
<!-- some comment -->
<value />
</root>
К сожалению, Simplexml не обрабатывает комментарии. Как было упомянуто, DOM делает справляться с комментариями, но это своего рода, чтобы использовать для простых вещей, по сравнению с Simplexml.
Моя рекомендация: попробуйте SimpleDom . Это расширение для Simplexml, поэтому все работает так же, и у него есть куча полезных методов для решения DOM.
Например, Ввод ($ Content, $ Mode)
может
приложение
или вставить комментарии до
или после
данного узла Отказ Например:
include 'SimpleDOM.php';
$root = simpledom_load_string('<root><value/></root>');
$root->value->insertComment(' mode: append ', 'append');
$root->value->insertComment(' mode: before ', 'before');
$root->value->insertComment(' mode: after ', 'after');
echo $root->asPrettyXML();
... будет эхо
<?xml version="1.0"?>
<root>
<!-- mode: before -->
<value>
<!-- mode: append -->
</value>
<!-- mode: after -->
</root>
Нет, но, по-видимому, вы можете использовать DomDocument в качестве обходного пути (нем.):
$oNodeOld = dom_import_simplexml($oParent);
$oDom = new DOMDocument();
$oDataNode = $oDom->appendChild($oDom->createElement($sName));
$oDataNode->appendChild($oDom->createComment($sValue));
$oNodeTarget = $oNodeOld->ownerDocument->importNode($oDataNode, true);
$oNodeOld->appendChild($oNodeTarget);
return simplexml_import_dom($oNodeTarget);
Но опять же, почему бы не использовать DOM напрямую?
.