2016-08-13 5 views
0

Я знаю, что есть много примеров создания cdata с php, но я не нашел того, что помогает в моей ситуации. Мне нужно создать xml-файл, который будет использоваться чем-то другим, кроме php. Мне нужно создать cdata в xml, который будет содержать функцию, которая будет использоваться. Окончательный файл xml должен выглядеть следующим образом.PHP Создание XML CDATA СЕКЦИЯ С ПЕРЕМЕНАМИ

<?xml version="1.0" encoding="utf-8" ?> 
     <component name="Test" extends="out" > 
     <script type="text" > 
     <![CDATA[ 
      function init() 
      m.content = createObject("RoSGNode","ContentNode") 
      m.top.setFocus(true) 
      dateNow = CreateObject("roDateTime") 
      dateNow = dateNow.asSeconds() - 2000 

     addItemName($Iname) 
     end function 
     ]]> 
    </script> 
    </component> 

Код для создания xml. Я просто не знаю, как создать cdata-информацию. Любая помощь будет принята с благодарностью.

 $xml=new DOMDocument('1.0', 'UTF-8'); 
    $xml->preserveWhiteSpace = false; 
    $xml->formatOutput = true; 
     $components = $xml->createElement("components"); 
     $name=$xml->createAttribute("name"); 
     $name->value = "Test"; 
      $extends=$xml->createAttribute("extends"); 
      $extends->value = "out"; 
      $components->appendChild($name); 
      $components->appendChild($extends); 
      $script = $xml->createElement("script"); 
      $type=$xml->createAttribute("type"); 
      $type->value = "text"; 
      $script->appendChild($type); 


     $components->appendChild($script); 
    $xml->appendChild($components); 
    $xml->save($filename2); 

ответ

1

После немного больше усилий, смог CDATA в.

$cdata = $xml->createCDATASection("function init()"); 
    $script->appendChild($cdata); 
+0

Теперь мой вопрос заключается в том, чтобы написать информацию ниже, в CDATA, такие как m.content = CreateObject ("RoSGNode », "ContentNode")? – snowman