【问题标题】:Updating a xml file with php simplexml tool使用 php simplexml 工具更新 xml 文件
【发布时间】:2012-02-14 12:51:52
【问题描述】:

我有一个非常简单的xml内容videolar.xml。 Flash 播放器采用这些元素并播放它们。我想将<title><youtube> 元素更改为php simplexml。我写了一个代码video.php 来改变这些元素。当我运行video.php 时,它会打印如下。看起来它可以工作,但如果我玩播放器,它仍然会玩齐柏林飞艇,而不是玩白蛇。如果我通过浏览器打开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
    )
  )  
)

【问题讨论】:

标签: php xml simplexml


【解决方案1】:

您需要将修改后的 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)
?>

【讨论】:

  • 我想和上面一样,但我不想在 xml 文件中进行更改,只想在对象中进行更改,以便我可以在页面上打印更新的标签?喜欢echo $tmpStr = (string)$xmlObj-&gt;ordered_list-&gt;asXML();
猜你喜欢
  • 2013-01-11
  • 1970-01-01
  • 2014-05-06
  • 1970-01-01
  • 2010-09-15
  • 2011-05-29
  • 2020-07-27
  • 2015-09-23
  • 1970-01-01
相关资源
最近更新 更多