brukar aldrig använda simpleXML, tycker det verkar för simpelt
just nu använder jag mig av följande funktion. men den är inte riktigt snygg, ska skriva om den till att kanske replacea hela noder istället för bara innehållet. som det är nu så förblir tomma noder tomma, bara noder med innehållande text kan uppdateras. men jaja, det kanske kan få dig i rätt riktning iaf
data.xml
<item>
<title><![CDATA[titeln här]]></title>
<description><![CDATA[beskrivning här]]></description>
<guid>20061111</guid>
</item>
funktionen
function update ($id, $titleStr, $textStr) {
$doc = new DOMDocument();
$doc->formatOutput = true;
$doc->preserveWhiteSpace = false;
$doc->load("./data.xml");
$xpath = new DOMXPath($doc);
$params = $xpath->query("//channel/item[guid=" . $id ."]");
$param = $params->item(0);
$cNode = $param->firstChild;
while ($cNode != NULL) {
if ($cNode->nodeName == "title")
$cNode->firstChild->nodeValue = $titleStr;
if ($cNode->nodeName == "description")
$cNode->firstChild->nodeValue = $textStr;
$cNode = $cNode->nextSibling;
}
$doc->save("./data.xml");
}
men i slutändan så "skrivs" ju även denna xml-fil över. eller? så problemet kanske inte löser sig alls.
