За последние 24 часа нас посетили 21876 программистов и 1390 роботов. Сейчас ищут 710 программистов ...

PHP код для вставки нового параметра в XML файл

Тема в разделе "PHP для новичков", создана пользователем abc_pod_topolem, 14 фев 2020.

Метки:
  1. abc_pod_topolem

    abc_pod_topolem Новичок

    С нами с:
    14 фев 2020
    Сообщения:
    1
    Симпатии:
    0
    Доброго времени суток! Нужен PHP код для вставки нового параметра в XML файл

    Есть XML файл типа

    Код (Text):
    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <!DOCTYPE yml_catalog SYSTEM "shops.dtd">
    3. <yml_catalog date="2011-07-20 14:58">
    4. <shop>
    5. <name>ABC</name>
    6. <company>ABC inc.</company>
    7. <url>http://www.abc.ua/</url>
    8. <currencies>
    9. <currency id="UAH" rate="1"/>
    10. </currencies>
    11. <categories>
    12. <category id="2">Женская одежда</category>
    13. <category id="261" parentId="2">Платья</category>
    14. <category id="3">Мужская одежда</category>
    15. <category id="391" parentId="3">Куртки</category>
    16. </categories>
    17. <offers>
    18. <offer id="19305" available="true">
    19. <url>http://abc.ua/catalog/muzhskaya_odezhda/kurtki/kurtkabx.html</url>
    20. <price>4499</price>
    21. <currencyId>UAH</currencyId>
    22. <categoryId>391</categoryId>
    23. <picture>http://abc.ua/upload/iblock/a53/a5391cddb40be91705.jpg</picture>
    24. <picture>http://abc.ua/upload/iblock/9d0/9d06805d219fb525fc.jpg</picture>
    25. <picture>http://abc.ua/upload/iblock/93d/93de38537e1cc1f8f2.jpg</picture>
    26. <vendor>Abc clothes</vendor>
    27. <stock_quantity>100</stock_quantity>
    28. <name>Куртка Abc clothes Scoperandom-HH XL Черная (1323280942900)</name>
    29. <description><![CDATA[<p>Одежда<b>Abc clothes</b> способствует развитию функций головного мозга за счет поощрения мелкой моторики.</p><p>В Abc <b>New Collection</b> будет особенно удобно лазать, прыгать, бегать.</p><p>За счет своей универсальноcти и многофункциональности, <b>Abc clothes</b> отлично подходит:</p><ul><li><b>Для весны</b></li><li><b>Для лета</b></li><li><b>Для ранней осени</b> </li></ul><br><p><b>Состав:</b><br>• 92% полиэстер, 8% эластан, нетоксичность подтверждена лабораторно.</p><p><b>Вес:</b> 305 г</p>]]></description>
    30. <param name="Вид">Куртка</param>
    31. <param name="Размер">XL</param>
    32. <param name="Сезон">Весна-Осень</param>
    33. <param name="Категория">Мужская</param>
    34. <param name="Цвет">Черный</param>
    35. <param name="Длина">Средней длины</param>
    36. <param name="Стиль">Повседневный (casual)</param>
    37. <param name="Особенности">Модель с капюшоном</param>
    38. <param name="Состав">92% полиэстер, 8% эластан</param>
    39. <param name="Артикул">58265468</param>
    40. </offer>
    41. </offers>
    42. </shop>
    43. </yml_catalog>
    Нужно вставить новый параметр

    <param name="Доставка/Оплата">Товар на заказ. Срок доставки – до 7 дней. Предоплата 10%</param>.

    с помощью PHP вставки в карточку товара. Использую для вставки модуль импорта, у которого реализована такая возможность.
    Подробнее http://anycsv-dsv-xls-yml.ocext.com/image/catalog/csvdoc/func_column.pdf
     
  2. kazadai90

    kazadai90 Активный пользователь

    С нами с:
    6 фев 2013
    Сообщения:
    103
    Симпатии:
    19
    PHP:
    1. <?php
    2.  
    3. $xml = simplexml_load_file("file.xml");
    4.  
    5. if($xml && isset($xml->{'shop'}) && isset($xml->{'shop'}->{'offers'}) && isset($xml->{'shop'}->{'offers'}->{'offer'})) {
    6.     $offer = $xml->{'shop'}->{'offers'}->{'offer'};
    7.  
    8.     $new_param = $offer->addChild("param", "Товар на заказ. Срок доставки – до 7 дней. Предоплата 10%");
    9.     $new_param->addAttribute("name", "Доставка/Оплата");
    10.  
    11.     $xml->saveXml("file2.xml");
    12. }
     
    abc_pod_topolem нравится это.