PDA

View Full Version : سوال: اضافه کردن به xml ؟



mosi2007
سه شنبه 02 خرداد 1391, 03:58 صبح
سلام دوستان
این مقدار فایل xml است


<Image Filename="image3.jpg">

</Image>



برای اضافه کردن مقدار از طریق php من از این روش استفاده کردم که جواب نداد


<?php
$xml = simplexml_load_file('piecemakerXML.xml');
$xml->addChild('Image')->addChild('Filename', '47.jpg');
file_put_contents('piecemakerXML.xml', $xml->asXML());


?>
که خروجیش این شد

<Image><Filename>47.jpg</Filename></Image>
ممنون میشم راهنمایی کنید .

بعد اگه بخوایم از توی فایل xml مقدار قبلی رو پاک کنیم و این مقدار جدبدو جایگزینش کنیم از چه روشی باید برای پاک کردن استفاده کرد؟

MMSHFE
سه شنبه 02 خرداد 1391, 09:41 صبح
<?php
$xml = simplexml_load_file('piecemakerXML.xml');
$child = $xml->addChild('Image');
$child->addAttribute('Filename', '47.jpg');
file_put_contents('piecemakerXML.xml', $xml->asXML());
?>

موفق باشید.

mosi2007
سه شنبه 02 خرداد 1391, 11:45 صبح
<?php
$xml = simplexml_load_file('piecemakerXML.xml');
$child = $xml->addChild('Image');
$child->addAttribute('Filename', '47.jpg');
file_put_contents('piecemakerXML.xml', $xml->asXML());
?>

موفق باشید.
مرسی خیلی خیلی ممنون
حالا این محتویات قبلی رو تو فایل xml پاک میکنه ؟؟ چون میخوام که محتویات جدید جایگزین محتویات قبلی بشه

MMSHFE
سه شنبه 02 خرداد 1391, 13:09 عصر
بله جایگزین میشه.

mosi2007
سه شنبه 02 خرداد 1391, 17:31 عصر
بله جایگزین میشه.
نه جایگزین نشد اضافه شد به قبلی حتی تگ رو هم نبست این جوری شد

<Image Filename="image3.jpg">


</Image>


<Image Filename="47.jpg"/>

MMSHFE
سه شنبه 02 خرداد 1391, 20:39 عصر
من تست کردم درست کار میکرد. اگه کار نمیکنه، اینو امتحان کنید:


<?php
$xml = simplexml_load_file('piecemakerXML.xml');
$child = $xml->addChild('Image');
$child->addAttribute('Filename', '47.jpg');
$fp = fopen('piecemakerXML.xml', 'w');
fwrite($fp, $xml->asXML());
fclose($fp);
?>

MMSHFE
سه شنبه 02 خرداد 1391, 20:40 عصر
دقت کنید که بین محل بازشدن و بسته شدن تگ Image اصلی توی فایل XML سطر خالی نداشته باشین.

mosi2007
چهارشنبه 03 خرداد 1391, 00:02 صبح
دقت کنید که بین محل بازشدن و بسته شدن تگ Image اصلی توی فایل XML سطر خالی نداشته باشین.

نمیشه اصلا
میاد اضافه میکنه بین تگ image
این قبل از دستکاریه



<?xml version="1.0" encoding="utf-8"?>
<Image Filename="image3.jpg">
</Image>



این بعد از اجرا کردن دستور

<?xml version="1.0" encoding="utf-8"?>
<Image Filename="image3.jpg">
<Image Filename="47.jpg"/></Image>

فاصله خالی هم اصلا نذاشتم بینشون