2012-05-17 25 views
0

我正在嘗試寫入我的XML文件,但不確定語法!我可以打開XML文件。這是我到目前爲止的代碼:使用DOM寫入外部XML

<?php 
$doc = new DOMDocument(); 
$doc->load("xml/latestContent.xml"); 
$latestpic = $doc->getElementsByTagName("latestpic"); 
?> 

我用以前的方法,但是這是使用簡單的XML,我不再想使用:

<?php 
$xml = simplexml_load_file("xml/latestContent.xml"); 
$sxe = new SimpleXMLElement($xml->asXML()); 
$latestpic = $sxe->addChild("latestpic"); 
$latestpic->addChild("item", "Latest Pic"); 
$latestpic->addChild("content", $latestPic); 

$latestvid = $sxe->addChild("latestvideo"); 
$latestvid->addChild("item", "Latest Video"); 
$latestvid->addChild("content", $videoData); 

$latestfact = $sxe->addChild("latestfact"); 
$latestfact->addChild("item", "Latest Fact"); 
$latestfact->addChild("content", $factData); 
$sxe->asXML("xml/latestContent.xml"); 
?> 

我怎樣才能讓我的DOM與SIMPLE方法做同樣的事情嗎?

預先感謝您!

回答

1

我推斷您的latestContent.xml文件基於您的SimpleXML代碼正在做什麼。對於當前的代碼,使意義上說,latestContent.xml可能看起來像這樣以前被通過的SimpleXML代碼修改:

<?xml version="1.0" ?> 
<root /> 

您在使用的SimpleXML DOM文檔,然後將這個樣子寫的等效代碼:

<?php 
// Load XML 
$doc = new DOMDocument(); 
$doc->load("xml/latestContent.xml"); 

// Get root element 
$rootElement = $doc->documentElement; 

// Create latestpic element as a child of the root element 
$latestPicElement = $rootElement->appendChild($doc->createElement("latestpic")); 
$latestPicElement->appendChild($doc->createElement("item", "Latest Pic")); 
$latestPicElement->appendChild($doc->createElement("content", $latestPic)); 

// Create latestvideo element as a child of the root element 
$latestVidElement = $rootElement->appendChild($doc->createElement("latestvideo")); 
$latestVidElement->appendChild($doc->createElement("item", "Latest Video")); 
$latestVidElement->appendChild($doc->createElement("content", $videoData)); 

// Create latestfact element as a child of the root element 
$latestFactElement = $rootElement->appendChild($doc->createElement("latestfact")); 
$latestFactElement->appendChild($doc->createElement("item", "Latest Fact")); 
$latestFactElement->appendChild($doc->createElement("content", $factData)); 

// Save back to XML file 
$doc->save("xml/latestContent.xml"); 
?> 

HTH

+0

完美!非常感謝! – DommyCastles