Обновление XML-файла с помощью инструмента php simplexml - PullRequest
1 голос
/ 14 февраля 2012

У меня очень простой XML-контент videolar.xml. Flash Player берет эти элементы и воспроизводит их. Я хочу изменить элементы <title> и <youtube> на php simplexml. Я написал код video.php, чтобы изменить эти элементы. Когда я запускаю video.php, он печатает, как показано ниже. Похоже, что это работает, но если я играю в плеер, он играет led zeppelin и не играет whitesnake. Если я открою браузер video.xml, я увижу, что XML-файл не изменился. Еще вел дирижабль. Так как же мне обновить плейлист flashplayer?

videolar.xml

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
  <playlist>
    <track>
      <title>led zeppelin - kashmir</title>
      <youtube>sfR_HWMzgyc</youtube>
    </track>
    <track>
      <title>pink floyd - eclipse</title>
      <youtube>BUwUKyztI10</youtube>
    </track>
  </playlist>

video.php

<?php
  $completeurl = $_SERVER['DOCUMENT_ROOT'].'/ytplayer/videolar.xml';
  $xml = simplexml_load_file($completeurl);

  $xml->track[0]->title = 'Whitesnake - Is this love';
  $xml->track[0]->youtube = 'GOJk0HW_hJw';

  print_r($xml);
?>

Когда я запускаю этот код выше, он печатает:

(
  [track] => Array
  (
    [0] => SimpleXMLElement Object
    (
      [title] => Whitesnake - Is this love
      [youtube] => GOJk0HW_hJw
    )
    [1] => SimpleXMLElement Object
    (
      [title] => pink floyd - eclipse
      [youtube] => BUwUKyztI10
    )
  )  
)

1 Ответ

2 голосов
/ 14 февраля 2012

Вам нужно сохранить измененный XML обратно в файл

<?php
    $completeurl = $_SERVER['DOCUMENT_ROOT'].'/ytplayer/videolar.xml';
    $xml = simplexml_load_file($completeurl);

    $xml->track[0]->title = 'Whitesnake - Is this love';
    $xml->track[0]->youtube = 'GOJk0HW_hJw';

    $xml->asXML($completeurl)
?>
...