2012-05-17 6 views
0

Я пытаюсь написать в свой XML-файл, но не уверен в синтаксисе! Однако я могу открыть XML-файл. Вот мой код до сих пор:Вывод на внешний XML с использованием DOM

<?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 с помощью DOMDocument будет выглядеть следующим образом:

<?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"); 
?> 

НТН

+0

Отлично! Спасибо огромное! – DommyCastles

Смежные вопросы