php aracılığıyla xml içinde html etiketleri

1 Cevap php

Böyle php ile xml içindeki bir html dize koymak için çalışıyorum:

<?php
$xml_resource = new SimpleXMLElement('stuff.xml', 0, true);
$xml_resource->content = '<![CDATA[<u>111111111111111111111111111111111 text</u>]]>';
$xml_resource->asXML('stuff.xml');
?>

ama nedense benim xml dosyası gibi görünüyor:

<?xml version="1.0"?> <data>
    <content id="pic1" frame="1" xpos="22" ypos="22" width="11" height="11">&lt;![CDATA[&lt;u&gt;111111111111111111111111111111111 text&lt;/u&gt;]]&gt;</content> </data>

Yardımlarınız iyi baylar için çok teşekkür ederim.

1 Cevap

SimpleXML CDATA bölümleri oluşturamazsınız. Ancak, sadece bir düğüme HTML atama functionnally eşdeğer olmalıdır:

$xml_resource->content = '<u>111111111111111111111111111111111 text</u>';

Tabii ki özel karakterler kaçtı edilecek ve sonuç bir CDATA bölümü kullanarak eşdeğer olacaktır.


Kesinlikle CDATA bölümleri oluşturmak istiyorsanız, SimpleDOM gelen DOM yöntemi erişmek için gibi bir şey kullanmak zorunda olacak.

include 'SimpleDOM.php';

$xml_resource = new SimpleDOM('stuff.xml', 0, true);
$xml_resource->content = '';
$xml_resource->content->insertCDATA('<u>111111111111111111111111111111111 text</u>');
$xml_resource->asXML('stuff.xml');