Я просто хочу добавить cdata в XML-узел - описание. Моя функция xml приведена ниже. Я попытался с помощью биты следующей функции на php.net в моей функцииНевозможно добавить CDATA в мою XML-строку с помощью simplexml с php
<?php
function updateXMLFile($itemName, $description, $pageName, $imageFileName)
{
$imageSrc = "<img src='http://nicolaelvin.com/authoring/phpThumb/phpThumb.php?src=../images/" . $imageFileName . "&w=100'/>";
$id = strtolower($id = str_replace(' ', '_', $itemName));
$directLinkToItem = 'http://nicolaelvin.com/authoring/' . $pageName . '.php#' . $id;
$xml = simplexml_load_file('nicolaElvinsPortfolio.xml');
$item = $xml->channel->addChild('item');
$item->addChild('title', $itemName);
$item->addChild('pubDate', date('r'));
$item->addChild('link', $directLinkToItem);
$item->addChild('description');
$cdata->description->createCDATASection('testyfhgjhsgsdjahgs');
$item->appendChild($cdata);
///Format XML to save indented tree rather than one line
$dom = new DOMDocument('1.0');
$dom->preserveWhiteSpace = false;
$dom->formatOutput = true;
$dom->loadXML($xml->asXML());
//Save XML to file - remove this and following line if save not desired
$dom->save('nicolaElvinsPortfolio.xml');
}
//function from php.net
function sxml_cdata($path, $string)
{
$dom = dom_import_simplexml($path);
$cdata = $dom->ownerDocument->createCDATASection($string);
$dom->appendChild($cdata);
}
?>
Я пробовал бит в нем, который говорит создать CDATASection, который я адаптировал из этой функции с php.net. Я не получаю никаких ошибок, просто ничего не добавляет к моему XML-документу. – Nicola
Я не уверен, что simpleXML поддерживает эту функциональность. Как следует из названия, это простое манипулирование XML. Возможно, вам придется прибегать к полным классам DOM. – GordonM
О, ладно спасибо, я не уверен, как это сделать, поэтому мне, возможно, придется оставить его – Nicola