Snažil som sa vytvoriť všetko možnécdata položky v mojom xml. Môj posledný pokus je nasledujúci. Nemôžem sa dokonca dostať na prvé vyhlásenie, keď im vytváram nový DOMDocument. Máte nejaké nápady?
<?php
$xml = "
<?xml version="1.0" encoding="ISO-8859-1"?>
<cars>
<make name="Ford">
<model>Mustang</model>
</make>
<make name="Honda">
<model>Accord</model>
</make>
</cars>
";
$dom = new DOMDocument;
$dom->loadXML($xml);
$xml = simplexml_import_dom($dom);
print "working";
?>
odpovede:
1 pre odpoveď č. 1Pred deklaráciou XML by ste nemali mať žiadne znaky. Odstráňte zalomenie riadku o $xml = "
.
Najlepším riešením by bolo použitie heredoc syntaxe:
$xml = <<<XML
<?xml version="1.0" encoding="ISO-8859-1"?>
<cars>
<make name="Ford">
<model>Mustang</model>
</make>
<make name="Honda">
<model>Accord</model>
</make>
</cars>
XML;
1 pre odpoveď č. 2
Pozri sa na: DOMDocument :: createCDATASection
$xml = "<?xml version="1.0" encoding="ISO-8859-1"?>
<cars>
<make name="Ford">
<model>Mustang</model>
</make>
<make name="Honda">
<model>Accord</model>
</make>
</cars>
";
$dom = new DOMDocument;
$dom->loadXML($xml);
$cdataNode = $dom->createCDATASection("<&>");
$dom->documentElement->appendChild($cdataNode);
echo $dom->saveXml();
Výkon:
<?xml version="1.0" encoding="ISO-8859-1"?>
<cars>
<make name="Ford">
<model>Mustang</model>
</make>
<make name="Honda">
<model>Accord</model>
</make>
<![CDATA[<&>]]></cars>