За последние 24 часа нас посетили 62204 программиста и 1801 робот. Сейчас ищут 817 программистов ...

Редактирование XML средствами PHP, через HTML форму

Тема в разделе "PHP для новичков", создана пользователем Linne, 23 июл 2014.

  1. Linne

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

    С нами с:
    19 июл 2014
    Сообщения:
    44
    Симпатии:
    0
    Здравствуйте, товарищи!

    У меня такого рода задача. Есть php скрипт, который создает простой xml:

    Код (Text):
    1. <html>
    2.    <head>  
    3.    </head>
    4.    <body>
    5.    
    6.    <?php
    7.    
    8.    //For form
    9.    $s_title=$_POST['title'];
    10.    $s_article=$_POST['article'];
    11.    
    12.    // "Create" the document
    13.    $xml=new DOMDocument( "1.0", "UTF-8" );
    14.  
    15.    //to have indented output, not just a line
    16.    $xml->preserveWhiteSpace = false;
    17.    $xml->formatOutput = true;
    18.    
    19.    // ------------- Interresting part here ------------
    20.  
    21.    //creating an xslt adding processing line
    22.    $xslt=$xml->createProcessingInstruction('xml-stylesheet', 'type="text/xsl" href="../template/page.xsl"');
    23.  
    24.    //adding it to the xml
    25.    $xml->appendChild($xslt);
    26.    
    27.    // ------------- Interresting part here -------------
    28.  
    29.    //adding some elements
    30.    $page=$xml->createElement("page");
    31.    $xml->appendChild($page);
    32.    
    33.    $title=$xml->createElement("title");
    34.    $page->appendChild($title);
    35.    $title_value=$xml->createTextNode("$s_title");
    36.    $title->appendChild($title_value);
    37.    
    38.    $article=$xml->createElement("article");
    39.    $page->appendChild($article);
    40.    $article_value=$xml->createTextNode("$s_article");
    41.    $article->appendChild($article_value);
    42.    
    43.    //creating the file
    44.    $date = date("H:m:i");
    45.    $filename = "page" . $date . ".xml";
    46.    $xml->save("./content/$filename");
    47.    ?>
    48.  
    49.    <h1></h1>
    50.    <form method="post">
    51.       <p>Title:</p>
    52.          <input name="title" required="required" /><br/>
    53.       <p>Article:</p>
    54.          <textarea name="article" required="required"></textarea><br/>
    55.          <input type="submit" value="Save" name="submit">
    56.    </form>
    57.    </body>
    58. </html>
    Как видно xml файлы скрипт «складывает» в каталог — ./content.

    Суть в том, что присутствует необходимость периодического редактирования этих самых xml файлов. Нужно, чтобы можно было редактировать любой из файлов в каталоге ./content. Редактирование должно происходить в форме:

    Код (Text):
    1. <form method="post">
    2.       <p>Title:</p>
    3.          <input name="title" required="required" /><br/>
    4.       <p>Article:</p>
    5.          <textarea name="article" required="required"></textarea><br/>
    6.          <input type="submit" value="Save" name="submit">
    7.    </form>
    поскольку, существуют только два узла — title («заголовок, название заметки») и article (сама заметка, её «тело»).

    Также необходимо решения для возможности удаленя выбранных xml файлов (из каталога ./content).

    В php я совсем новичок, по-сему очень надеюсь на помощь знающих людей. Заранее благодарен.
     
  2. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск