我有一个包含广告的XML文件(ISO-8859-1),例如:
<annonce id="100">
<image><![CDATA[<img src="images/geneve-25.jpg" border="1" style="border-color:#CCCCCC"/> ]]></image>
<entete><![CDATA[<strong>Genève</strong>]]></entete>
<ref><![CDATA[<span class="refGE">(réf CRB100)]]></ref>
<nouveau><![CDATA[<br/><br/>]]></nouveau>
<description>
<detail><![CDATA[<strong>Grande Brasserie / Restaurant</strong><br/><br/>
90 places et Terrasse privée de 80 places.<br/>
Matériaux de grande qualité. Emplacement No.1 en grand développement,
Rive Gauche, quartier très tranquille, C.A. important.<br/><br/>
<span class="info_annonce_jaune">Affaire traitée sur rdv uniquement.</span><br/>]]>
</detail>
</description>
</annonce>
我正在添加一个新元素并保存文件:
$racine = simplexml_load_file($fichier);
$annonce = $racine->addChild('annonce');
$annonce->addAttribute('id', $_POST['id']);
$annonce->addChild('ref', $_POST['ref']);
$annonce->addChild('image', $_POST['image']);
$annonce->addChild('entete', $_POST['entete']);
$annonce->addChild('nouveau', $_POST['nouveau']);
$annonce->addChild('description', $_POST['description']);
$fichier = iconv('UTF-8', 'ISO-8859-1//TRANSLIT', $fichier);
file_put_contents($fichier, $racine->asXML());
我有两个问题:
1使用新元素保存之前的XML文件标题如下所示:
<?xml version="1.0" encoding="ISO-8859-1" ?>
在saiving之后,编码disapper
<?xml version="1.0"?>
2其次,许多角色都被改变了:
<annonce id="100">
<image><img src="images/geneve-25.jpg" border="1" style="border-color:#CCCCCC"/>&nbsp;&nbsp;</image>
<entete><strong>Gen&egrave;ve</strong></entete>
<ref><span class="refGE">(r&eacute;f CRB100)</ref>
<nouveau><br/><br/></nouveau>
<description>
<detail><strong>Grande Brasserie / Restaurant</strong><br/><br/>
90 places et Terrasse privée de 80 places.<br/>
Matériaux de grande qualité. Emplacement No.1 en grand développement,
Rive Gauche, quartier très tranquille, C.A. important.<br/><br/>
<span class="info_annonce_jaune">Affaire traitée sur rdv uniquement.</span><br/>
</detail>
</description>
</annonce>
全部![CDATA [消失!!! 有什么想法吗?
PS:有可能用缩进样式保存吗?新元素在文件中处于联机状态......