使用PHP创建和添加信息到XML文件

时间:2014-01-30 11:18:00

标签: php xml

我想创建允许我将数据添加到XML文件的PHP页面, 我想让xml文件看起来像这样:

<?xml version="1.0" encoding="UTF-8"?>
<ArrayOfPlayer>
  <Player>
    <DisplayName>FuznesS</DisplayName>
    <UserID>123123</UserID>
  </Player>
   <Player>
    <DisplayName>Vortex</DisplayName>
    <UserID>321321</UserID>
  </Player>
</ArrayOfPlayer>

并能够添加更多

<Player>
    <DisplayName>Vortex</DisplayName>
    <UserID>321321</UserID>
</Player>

我添加的每一个都将在

<ArrayOfPlayer>

</ArrayOfPlayer>

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

怎么样,只需替换变量:

<?php
$xml = new SimpleXMLElement('<ArrayOfPlayer/>');

foreach ($players AS $player) {
    $track = $xml->addChild('Player');
    $track->addChild('DisplayName', $display_name);
    $track->addChild('UserID', $user_id);
 }

 Header('Content-type: text/xml');
 print($xml->asXML());

*编辑*

嗯,这是我修改后的答案,希望这会有所帮助:

<?php
$filename = 'file.xml';
$new_displayname = 'Vortex';
$new_userid = '321321';


$doc=new DOMDocument();
$doc->formatOutput = true;
$doc->load($filename);
$root=$doc->documentElement;

$arrayofplayer = $doc->getElementsByTagName("ArrayOfPlayer");

$arrayofplayer = $doc->createElement('Player');
$arrayofplayer = $root->appendChild($arrayofplayer);

$player = $doc->createElement('DisplayName');
$player = $arrayofplayer->appendChild($player);
$displayname = $doc->createTextNode($new_displayname);
$displayname = $player->appendChild($displayname);

$player = $doc->createElement('UserID');
$player = $arrayofplayer->appendChild($player);
$userid = $doc->createTextNode($new_userid);
$userid = $player->appendChild($userid);

$doc->save($filename);
?>
相关问题