Page 1 of 1

Valid XML creation with PHP

Posted: Thu Sep 08, 2011 4:55 pm
by mavera2
With the following code i can create an xml file.

Code: Select all

<?php
	$myXML = new SimpleXMLElement("<myroot></myroot>");
	$title= $myXML->addChild('title');
	$title->addAttribute('number','12');
	$titleName= $title->addChild('titleName', 'title1');
	$titleLink= $title->addChild('titleLink', 'link1');
	Header('Content-type: text/xml');
	echo $myXML->asXML();
?>
But when i check the validity of xml file
http://www.validome.org/xml/validate/
This error occurs:
Can not find declaration of element 'myroot'.

I suppose that the problem is missing of
!DOCTYPE and
!ELEMENT lines.

How can i create valid XML documents with PHP automatically??
Is it possible to make it without writing doctype and element types
for the whole element types of xml by hand
$title, $titleName and $titleLink

Thank you

Re: Valid XML creation with PHP

Posted: Fri Sep 09, 2011 12:23 am
by ok
What is the purpose you use this XML for?

The XML validator needs the !DOCTYPE declaration to validate against. The !DOCTYPE refers the validator to a file which has all the declarations of the elements inside your XML file.
If you use this XML internally, you don't need to validate it, since SimpleXML produces a XML document which is well structured.