2016-08-13 15 views
0

phpでcdataを作成する例はたくさんありますが、自分の状況に役立つものは見つかりませんでした。私は、PHP以外の何かによって使用されるXMLファイルを作成する必要があります。私は使用する関数を含むxmlのcdataを作成する必要があります。最終的な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

今、私の質問は、このようなm.content = CREATEOBJECT( "RoSGNodeとして、CDATAで以下の情報を記述する方法であります"、" ContentNode ")? – snowman

関連する問題